occ
Loading...
Searching...
No Matches
occ::qm::ScopedRangeSeparation< T > Class Template Reference

Applies a range-separation parameter for the duration of a scope, and puts back whatever was there before however the scope is left. More...

#include <integral_engine.h>

Public Member Functions

 ScopedRangeSeparation (T &target, double omega)
 
 ~ScopedRangeSeparation ()
 
 ScopedRangeSeparation (const ScopedRangeSeparation &)=delete
 
ScopedRangeSeparationoperator= (const ScopedRangeSeparation &)=delete
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ ScopedRangeSeparation() [1/2]

template<typename T >
occ::qm::ScopedRangeSeparation< T >::ScopedRangeSeparation ( T &  target,
double  omega 
)
inline

◆ ~ScopedRangeSeparation()

template<typename T >
occ::qm::ScopedRangeSeparation< T >::~ScopedRangeSeparation ( )
inline

◆ ScopedRangeSeparation() [2/2]

template<typename T >
occ::qm::ScopedRangeSeparation< T >::ScopedRangeSeparation ( const ScopedRangeSeparation< T > &  )
delete

Member Function Documentation

◆ operator=()

template<typename T >
ScopedRangeSeparation & occ::qm::ScopedRangeSeparation< T >::operator= ( const ScopedRangeSeparation< T > &  )
delete

The documentation for this class was generated from the following file: