STORMM Source Documentation
|
Collect the set of symmetry-related and interchangeable groups for one or more molecules within a topology. More...
#include <atom_equivalence.h>
Public Member Functions | |
int | getGroupCount () const |
Get the number of atom equivalence groups. | |
int | getSymmetryDepth () const |
Get the number of levels of symmetry-related groups. This is essential for mapping identity swaps that an atom might undergo in a symmetry-corrected RMSD calculation. | |
std::vector< int > | getGroup (int group_index) const |
Get the atoms of one group as an independent Standard Template Library vector. | |
int | getSymmetryRelatedAtom (int group_index, int domain_index, int atom_index) const |
Get one atom index from within a symmetry-equivalent atom group. | |
const int * | getGroupPointer (int group_index) const |
Get a pointer to the atom indices of a particular group. | |
int | getGroupSize (int group_index) const |
Get the size of a particular group. | |
int | getGroupOrder (int group_index) const |
Get the order of a particular group. | |
int | getGroupLevel (int group_index) const |
Get the depth of the group of interest in terms of its dependence on (containment within) other groups of symmetry-related atoms. | |
EquivalenceSwap | getGroupRule (int group_index) const |
Get the manner by which combinations of the group's interchangeable subunits should be laid out in order to search for the best RMSD fit. | |
std::vector< int > | getGroupDependencies (int group_index) const |
Get a list of a group's dependencies (other groups that the group in question contains completely). Chained dependencies are handled implicitly by the complete containment criterion. | |
int | getAsymmetricAtomCount () const |
Get the number of asymmetric core atoms. | |
const std::vector< int > & | getAsymmetricAtoms () const |
Get a const reference to the list of atoms outside any symmetry group. | |
const AtomGraph * | getTopologyPointer () const |
Get a const pointer to the topology for which these equivalencies apply. | |
AtomEquivalence () | |
The constructor relies on a topology pointer plus arrays of formal charges, bond orders, and ring inclusion as will have been derived by a ChemicalFeatures object. | |
AtomEquivalence (const AtomGraph *ag_in, const std::vector< double > &formal_charges, const std::vector< double > &free_electrons, const std::vector< ullint > &ring_inclusion, const std::vector< ChiralOrientation > &chiralities, StopWatch *timer=nullptr, int low_molecule_index=0, int high_molecule_index=-1) | |
AtomEquivalence (const AtomGraph &ag_in, const std::vector< double > &formal_charges, const std::vector< double > &free_electrons, const std::vector< ullint > &ring_inclusion, const std::vector< ChiralOrientation > &chiralities, StopWatch *timer=nullptr, int low_molecule_index=0, int high_molecule_index=-1) | |
AtomEquivalence (const ChemicalFeatures &chemfe_in, StopWatch *timer=nullptr, int low_molecule_index=0, int high_molecule_index=-1) | |
AtomEquivalence (const AtomGraph &ag_in, const CoordinateFrame &cf, StopWatch *timer=nullptr, int low_molecule_index=0, int high_molecule_index=-1) | |
AtomEquivalence (const AtomEquivalence &original)=default | |
AtomEquivalence (AtomEquivalence &&original)=default | |
AtomEquivalence & | operator= (const AtomEquivalence &original)=default |
AtomEquivalence & | operator= (AtomEquivalence &&original)=default |
Collect the set of symmetry-related and interchangeable groups for one or more molecules within a topology.
stormm::chemistry::AtomEquivalence::AtomEquivalence | ( | ) |
The constructor relies on a topology pointer plus arrays of formal charges, bond orders, and ring inclusion as will have been derived by a ChemicalFeatures object.
ag_in | Topology for the system of interest (a pointer will be retained by the object) |
formal_charges | Array of formal charges for all atoms in the entire topology |
free_electrons | Array of free electron content for all atoms in the topology |
ring_inclusion | Array of ring inclusion marks for all atoms in the topology |
chiralities | Array of chiral statuses for all atoms in the entire topology |
chemfe_in | Chemical features of the molecular system in question, from which the previous four arrays as well as the original topology pointer can be obtained |
timer | Wall time tracker to monitor time spent in various stages of the calculation |
low_molecule_index | Index of the first molecule in the topology for which to draw atom equivalence groups |
high_molecule_index | Upper index limit of molecules in the topology for which to draw atom equivalence groups. The default of -1 triggers the upper limit to be set as one beyond the lower limit. |
|
default |
The default copy and move constructors, as well as copy and move assignment operators, will be adequate for this object which contains only Standard Template Library components and no const member variables.
original | The original object to copy or move |
other | Another object to which the current one shall be assigned |
std::vector< int > stormm::chemistry::AtomEquivalence::getGroup | ( | int | group_index | ) | const |
Get the atoms of one group as an independent Standard Template Library vector.
group_index | The group of interest |
std::vector< int > stormm::chemistry::AtomEquivalence::getGroupDependencies | ( | int | group_index | ) | const |
Get a list of a group's dependencies (other groups that the group in question contains completely). Chained dependencies are handled implicitly by the complete containment criterion.
group_index | The group of interest |
int stormm::chemistry::AtomEquivalence::getGroupLevel | ( | int | group_index | ) | const |
Get the depth of the group of interest in terms of its dependence on (containment within) other groups of symmetry-related atoms.
group_index | The group of interest |
int stormm::chemistry::AtomEquivalence::getGroupOrder | ( | int | group_index | ) | const |
Get the order of a particular group.
group_index | The group of interest |
const int * stormm::chemistry::AtomEquivalence::getGroupPointer | ( | int | group_index | ) | const |
Get a pointer to the atom indices of a particular group.
group_index | The group of interest |
EquivalenceSwap stormm::chemistry::AtomEquivalence::getGroupRule | ( | int | group_index | ) | const |
Get the manner by which combinations of the group's interchangeable subunits should be laid out in order to search for the best RMSD fit.
group_index | The group of interest |
int stormm::chemistry::AtomEquivalence::getGroupSize | ( | int | group_index | ) | const |
Get the size of a particular group.
group_index | The group of interest |
int stormm::chemistry::AtomEquivalence::getSymmetryRelatedAtom | ( | int | group_index, |
int | domain_index, | ||
int | atom_index ) const |
Get one atom index from within a symmetry-equivalent atom group.
group_index | The group of interest |
domain_index | The interchangeable collection of atoms within the group |
atom_index | Index of the atom within the interchangeable domain (this is not a topological index) |