mpqc::MolecularCoordinates Class Referenceabstract
Collaboration diagram for mpqc::MolecularCoordinates:

Documentation

The MolecularCoordinates abstract class describes the coordinate system used to describe a molecule. It is used to convert a molecule's Cartesian coordinates to and from this coordinate system.

Public Member Functions

 MolecularCoordinates (const std::shared_ptr< Molecule > &mol)
 
 MolecularCoordinates (const KeyVal &kv)
 The KeyVal constructor. More...
 
virtual ~MolecularCoordinates ()
 
virtual size_t size () const =0
 
virtual size_t nconstrained () const
 
const std::shared_ptr< Moleculemolecule () const
 
virtual std::shared_ptr< MolecularCoordinatesclone () const =0
 
virtual void print (std::ostream &os=ExEnv::out0()) const =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

void update_molecule (const std::vector< Atom > &atoms)
 

Friends

template<std::size_t N>
void increment (MolecularCoordinates *, std::array< size_t, N >, std::array< double, N >)
 

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

◆ MolecularCoordinates() [1/2]

MolecularCoordinates::MolecularCoordinates ( const std::shared_ptr< Molecule > &  mol)

◆ MolecularCoordinates() [2/2]

MolecularCoordinates::MolecularCoordinates ( const KeyVal kv)

The KeyVal constructor.

Parameters
kvthe KeyVal object to be queried

The KeyVal object will be query the following keywords:

Keyword Type Default Description
atoms Molecule none the molecule

◆ ~MolecularCoordinates()

MolecularCoordinates::~MolecularCoordinates ( )
virtual

Member Function Documentation

◆ clone()

virtual std::shared_ptr<MolecularCoordinates> mpqc::MolecularCoordinates::clone ( ) const
pure virtual

clones this object

Returns
a clone of this object

Implemented in mpqc::CartMolecularCoordinates.

◆ molecule()

const std::shared_ptr<Molecule> mpqc::MolecularCoordinates::molecule ( ) const
inline
Returns
pointer to the molecule

◆ nconstrained()

size_t MolecularCoordinates::nconstrained ( ) const
virtual

Reports the number of constrained coordinates. The default is zero.

Returns
the number of constrained coordinates

◆ print()

virtual void mpqc::MolecularCoordinates::print ( std::ostream &  os = ExEnv::out0()) const
pure virtual

prints this object to a std::ostream @params os the std::ostream object to which the output will be directed

Implemented in mpqc::CartMolecularCoordinates.

◆ size()

virtual size_t mpqc::MolecularCoordinates::size ( ) const
pure virtual

Reports the number of coordinates

Returns
the number of coordinates

Implemented in mpqc::CartMolecularCoordinates.

◆ update_molecule()

void mpqc::MolecularCoordinates::update_molecule ( const std::vector< Atom > &  atoms)
inlineprotected

Friends And Related Function Documentation

◆ increment

template<std::size_t N>
void increment ( MolecularCoordinates coords,
std::array< size_t, N >  coord_idxs,
std::array< double, N >  step 
)
friend

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