Documentation

The AtomBasedClusterable is a class that holds any clusterable type that is built up from atoms.

AtomBasedClusterables must be able to return the total mass of the clusterable as well as the total atomic number. Finally they need to be collapsable to a vector of atoms.

Public Member Functions

template<typename C , typename X = meta::disable_if_same_or_derived< AtomBasedClusterable, C>>
 AtomBasedClusterable (C &&c)
 
 AtomBasedClusterable (AtomBasedClusterable const &c)=default
 
AtomBasedClusterableoperator= (AtomBasedClusterable const &c)=default
 
 AtomBasedClusterable (AtomBasedClusterable &&c)=default
 
AtomBasedClusterableoperator= (AtomBasedClusterable &&c)=default
 
Vector3d const & com () const
 
std::vector< Atomatoms () const
 Vector of atoms that make up the clusterable. More...
 
double mass () const
 
int64_t total_atomic_number () const
 
size_t natoms () const
 
void update (const std::vector< Atom > &atoms, size_t &pos) const
 
void apply (const std::function< void(Atom &)> &op) const
 
std::ostream & print (std::ostream &os) const
 

Constructor & Destructor Documentation

◆ AtomBasedClusterable() [1/3]

template<typename C , typename X = meta::disable_if_same_or_derived< AtomBasedClusterable, C>>
mpqc::AtomBasedClusterable::AtomBasedClusterable ( C &&  c)
inlineexplicit

◆ AtomBasedClusterable() [2/3]

mpqc::AtomBasedClusterable::AtomBasedClusterable ( AtomBasedClusterable const &  c)
default

◆ AtomBasedClusterable() [3/3]

mpqc::AtomBasedClusterable::AtomBasedClusterable ( AtomBasedClusterable &&  c)
default

Member Function Documentation

◆ apply()

void mpqc::AtomBasedClusterable::apply ( const std::function< void(Atom &)> &  op) const
inline

◆ atoms()

std::vector<Atom> mpqc::AtomBasedClusterable::atoms ( ) const
inline

Vector of atoms that make up the clusterable.

◆ com()

Vector3d const& mpqc::AtomBasedClusterable::com ( ) const
inline

◆ mass()

double mpqc::AtomBasedClusterable::mass ( ) const
inline

◆ natoms()

size_t mpqc::AtomBasedClusterable::natoms ( ) const
inline

◆ operator=() [1/2]

AtomBasedClusterable& mpqc::AtomBasedClusterable::operator= ( AtomBasedClusterable &&  c)
default

◆ operator=() [2/2]

AtomBasedClusterable& mpqc::AtomBasedClusterable::operator= ( AtomBasedClusterable const &  c)
default

◆ print()

std::ostream& mpqc::AtomBasedClusterable::print ( std::ostream &  os) const
inline

◆ total_atomic_number()

int64_t mpqc::AtomBasedClusterable::total_atomic_number ( ) const
inline

◆ update()

void mpqc::AtomBasedClusterable::update ( const std::vector< Atom > &  atoms,
size_t &  pos 
) const
inline

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