Collaboration diagram for mpqc::lcao::Factory:

Documentation

Abstract integral factory.

Note
Most concrete factories will want to derived from Factory::OrbitalFactoryBase

Public Member Functions

std::shared_ptr< WavefunctionWorldwfn_world () const
 
TA::World & world () const
 
const std::shared_ptr< const Molecule > & atoms () const
 
bool accurate_time () const
 
bool verbose () const
 
virtual void obsolete ()
 obsolete Factory More...
 
virtual FormulaRegistryBaseregistry ()=0
 
virtual FormulaRegistryBasedirect_registry ()=0
 
- Public Member Functions inherited from mpqc::DescribedClass
 DescribedClass ()=default
 
virtual ~DescribedClass ()
 
std::string class_key () const
 
- Public Member Functions inherited from mpqc::enable_shared_from_this< DescribedClass >
virtual ~enable_shared_from_this ()=default
 
std::shared_ptr< DescribedClassshared_from_this ()
 returns the pointer to this object More...
 
std::shared_ptr< std::add_const_t< DescribedClass > > shared_from_this () const
 returns the pointer to this object More...
 
- Public Member Functions inherited from mpqc::detail::virt_base_of_enable_shared_from_this
virtual ~virt_base_of_enable_shared_from_this ()=default
 
bool shared_from_this_possible () const
 
template<typename Target , typename = std::enable_if_t<!std::is_const_v<Target>>>
std::shared_ptr< Target > cast_shared_from_this_to ()
 returns the pointer to this cast to a particular type More...
 
template<typename Target >
std::shared_ptr< std::add_const_t< Target > > cast_shared_from_this_to () const
 returns the pointer to this cast to a particular type More...
 

Protected Member Functions

 Factory ()=default
 
virtual ~Factory ()=default
 
void init (const KeyVal &kv)
 The KeyVal initializer. More...
 
 Factory (const KeyVal &kv)=delete
 

Protected Attributes

bool accurate_time_
 fence when measuring walltime? More...
 
bool verbose_
 do verbose printing? More...
 

Friends

template<class T , class P >
class AOFactory
 
template<class T , class P >
class LCAOFactory
 
template<class T , class P >
class pbc::AOFactory
 
template<class T , class P >
class pbc::GammaLCAOFactory
 

Additional Inherited Members

- Public Types inherited from mpqc::DescribedClass
typedef std::shared_ptr< DescribedClass >(* keyval_ctor_wrapper_type) (const KeyVal &)
 
- Static Public Member Functions inherited from mpqc::DescribedClass
static keyval_ctor_wrapper_type type_to_keyval_ctor (const std::string &type_name)
 
template<typename T >
static void register_keyval_ctor ()
 
template<typename T >
static bool is_registered ()
 
template<typename T >
static std::string class_key ()
 
static const keyval_ctor_registry_type & keyval_ctor_registry ()
 returns const ref to the keyval ctor registry More...
 

Constructor & Destructor Documentation

◆ Factory() [1/2]

mpqc::lcao::Factory::Factory ( )
protecteddefault

◆ ~Factory()

virtual mpqc::lcao::Factory::~Factory ( )
protectedvirtualdefault

◆ Factory() [2/2]

mpqc::lcao::Factory::Factory ( const KeyVal kv)
protecteddelete

Member Function Documentation

◆ accurate_time()

bool mpqc::lcao::Factory::accurate_time ( ) const
inline

◆ atoms()

const std::shared_ptr<const Molecule>& mpqc::lcao::Factory::atoms ( ) const
inline
Returns
a pointer to the molecule in the world

◆ direct_registry()

virtual FormulaRegistryBase& mpqc::lcao::Factory::direct_registry ( )
pure virtual

◆ init()

void mpqc::lcao::Factory::init ( const KeyVal kv)
protected

The KeyVal initializer.

Parameters
kvthe KeyVal object, it will be queried for the following keywords:
Keyword Type Default Description
"wfn_world" WavefunctionWorld if not given, will look for WavefunctionWorld at "" (see wfn_world_from_keyval() for details); prefers existing objects first, only constructs if do not exist yet (i.e. will look for existing objects at "wfn_world" and "" before constructing from "wfn_world" and "" ) WavefunctionWorld object
"verbose" bool false if true, it will do verbose printing
"accurate_time" bool false if true, do fence at timing
Warning
These keywords should be prefixed by "wfn_world:" (not recommended) or defined directly in this KeyVal object
Note
If kv does not contain a constructed WavefunctionWorld object, either at top, at "wfn_world", or as unmanaged_ptr at "wfn_world_ptr", this will construct a WavefunctionWorld object (and thus cleanup it at the lifetime end)

◆ obsolete()

virtual void mpqc::lcao::Factory::obsolete ( )
inlinevirtual

obsolete Factory

Reimplemented in mpqc::lcao::gaussian::GaussianFactory.

◆ registry()

virtual FormulaRegistryBase& mpqc::lcao::Factory::registry ( )
pure virtual

◆ verbose()

bool mpqc::lcao::Factory::verbose ( ) const
inline

◆ wfn_world()

std::shared_ptr< WavefunctionWorld > mpqc::lcao::Factory::wfn_world ( ) const
Returns
the WavefunctionWorld that this Factory is associated with
Exceptions
ProgrammingErrorif the owning WavefunctionWorld expired

◆ world()

TA::World& mpqc::lcao::Factory::world ( ) const
inline
Returns
TA world

Friends And Related Function Documentation

◆ AOFactory

template<class T , class P >
friend class AOFactory
friend

◆ LCAOFactory

template<class T , class P >
friend class LCAOFactory
friend

◆ pbc::AOFactory

template<class T , class P >
friend class pbc::AOFactory
friend

◆ pbc::GammaLCAOFactory

template<class T , class P >
friend class pbc::GammaLCAOFactory
friend

Member Data Documentation

◆ accurate_time_

bool mpqc::lcao::Factory::accurate_time_
protected

fence when measuring walltime?

◆ verbose_

bool mpqc::lcao::Factory::verbose_
protected

do verbose printing?


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