Applies a range-separation parameter for the duration of a scope, and puts back whatever was there before however the scope is left.
More...
template<typename T>
class occ::qm::ScopedRangeSeparation< T >
Applies a range-separation parameter for the duration of a scope, and puts back whatever was there before however the scope is left.
The engines carry the operator as mutable state, so a build that throws part way through would otherwise leave omega set, and every later Fock build would silently use the attenuated operator instead of the full Coulomb one. Works on anything with the range_separated_omega() / set_range_separated_omega() pair: IntegralEngine, IntegralEngineDF, HartreeFock, cint::IntegralEnvironment.