•All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Search Results
mpqc::AtomBasedCluster Class Reference
Documentation
is the unit that holds a collection of atom based clusterables that go together.
AtomBasedCluster will hold a vector of clusterables that all belong together. To update the center of the cluster compute_com must be called, this is to avoid computing a new center of mass (COM) every time a clusterable is added.
Public Member Functions | |
AtomBasedCluster ()=default | |
AtomBasedCluster (const AtomBasedCluster &c)=default | |
AtomBasedCluster & operator= (const AtomBasedCluster &c)=default | |
AtomBasedCluster (AtomBasedCluster &&c)=default | |
AtomBasedCluster & operator= (AtomBasedCluster &&c)=default | |
AtomBasedCluster (std::vector< AtomBasedClusterable > const &elems) | |
AtomBasedCluster (std::vector< AtomBasedClusterable > &&elems) | |
template<typename... Cs> | |
AtomBasedCluster (Cs... cs) | |
template<typename T > | |
void add_clusterable (T t) | |
int64_t size () const | |
int64_t total_atomic_number () const | |
double mass () const | |
std::vector< Atom > atoms () const | |
size_t natoms () const | |
void clear () | |
void set_com (Vector3d point) | |
sets the center equal to a point. More... | |
void update_cluster () | |
will update the center based on the current elements. More... | |
Vector3d const & com () const | |
std::vector< AtomBasedClusterable >::const_iterator begin () const | |
begin returns the begin iterator to the vector of clusterables. More... | |
std::vector< AtomBasedClusterable >::const_iterator end () const | |
end returns the end iterator to the vector of clusterables More... | |
Friends | |
void update (AtomBasedCluster &abc, const std::vector< Atom > &atoms, size_t &pos) | |
void apply (AtomBasedCluster &abc, const std::function< void(Atom &)> &op) | |
Constructor & Destructor Documentation
◆ AtomBasedCluster() [1/6]
|
default |
◆ AtomBasedCluster() [2/6]
|
default |
◆ AtomBasedCluster() [3/6]
|
default |
◆ AtomBasedCluster() [4/6]
|
inlineexplicit |
◆ AtomBasedCluster() [5/6]
|
inlineexplicit |
◆ AtomBasedCluster() [6/6]
template<typename... Cs>
|
inlineexplicit |
Member Function Documentation
◆ add_clusterable()
template<typename T >
|
inline |
◆ atoms()
std::vector< Atom > mpqc::AtomBasedCluster::atoms | ( | ) | const |
◆ begin()
|
inline |
begin returns the begin iterator to the vector of clusterables.
◆ clear()
|
inline |
◆ com()
|
inline |
◆ end()
|
inline |
end returns the end iterator to the vector of clusterables
◆ mass()
|
inline |
◆ natoms()
size_t mpqc::AtomBasedCluster::natoms | ( | ) | const |
◆ operator=() [1/2]
|
default |
◆ operator=() [2/2]
|
default |
◆ set_com()
|
inline |
sets the center equal to a point.
◆ size()
|
inline |
◆ total_atomic_number()
|
inline |
◆ update_cluster()
void mpqc::AtomBasedCluster::update_cluster | ( | ) |
will update the center based on the current elements.
This is done as a separate step because it would be inefficent to update after each addition of a AtomBasedClusterable
Friends And Related Function Documentation
◆ apply
|
friend |
applies a function to each atom in AtomBasedCluster
- Parameters
-
abc the AtomBasedCluster object op a function taking non-const lvalue ref to Atom and returning void, stored in std::function
◆ update
|
friend |
updates an AtomBasedCluster using a vector of Atom's
- Parameters
-
abc the AtomBasedCluster object atoms the vector of Atom objects pos the index of the next Atom object in Atoms to be used
The documentation for this class was generated from the following files:
- mpqc/chemistry/molecule/atom_based_cluster.h
- mpqc/chemistry/molecule/atom_based_cluster.cpp