STORMM Source Documentation
|
A shorthand form of a conformational degree of freedom, which could be a rotable bond, cis-trans invertible bond, or chiral center. More...
#include <chemical_features.h>
Public Member Functions | |
ConformationEdit | getMotion () const |
Get the isomerizing motion. | |
ChiralInversionProtocol | getChiralPlan () const |
Get the plan for inverting a chiral center. | |
int | getRootAtom () const |
Get the root atom for the motion. | |
int | getPivotAtom () const |
Get the pivot atom for the motion. | |
int | getRootHandle () const |
Get the root atom handle (for a rotatable bond J-K, this might be I of the sequence I-J-K-L). | |
int | getPivotHandle () const |
Get the pivot atom handle (for a rotatable bond J-K, this might be L of the sequence I-J-K-L). | |
int | getMovingAtomCount () const |
Get the number of moving atoms. | |
int | getRealMovingAtomCount () const |
Get the number of real moving atoms. | |
double | getMovingAtomWeight () const |
Get the total mass of moving atoms. | |
int | getMovingAtom (const size_t index) const |
Get the index of an individual moving atom from within this plan. | |
const std::vector< int > & | getMovingAtoms () const |
Get a const reference to the stored list of atoms that move as a consequence of the isomerization. | |
void | addMovingAtoms (const std::vector< int > &new_atom_idx) |
Add atoms to the moving atoms list. | |
void | eraseMovingAtoms () |
Erase the list of moving atoms to start over. This will resize the vector to zero. | |
IsomerPlan (ConformationEdit motion_in, ChiralInversionProtocol chiral_plan_in, int root_atom_in, int pivot_atom_in, const std::vector< int > &moving_atoms_in, const AtomGraph *ag_pointer_in) | |
The constructor takes all applicable arguments. Different overloads check the value of the ConformationEdit parameter to determine whether they have all of the necessary information. | |
IsomerPlan (ConformationEdit motion_in, int root_atom_in, int pivot_atom_in, const std::vector< int > &moving_atoms_in, const AtomGraph *ag_pointer_in) | |
IsomerPlan (ConformationEdit motion_in, ChiralInversionProtocol chiral_plan_in, int root_atom_in, int pivot_atom_in, const AtomGraph *ag_pointer_in) | |
IsomerPlan (ConformationEdit motion_in, int root_atom_in, int pivot_atom_in, const AtomGraph *ag_pointer_in) | |
IsomerPlan (const IsomerPlan &original)=default | |
The default copy and move constructors will suffice, and with no const members the copy and move assignment operators can also take on their default forms. | |
IsomerPlan (IsomerPlan &&original)=default | |
IsomerPlan & | operator= (const IsomerPlan &other)=default |
IsomerPlan & | operator= (IsomerPlan &&other)=default |
A shorthand form of a conformational degree of freedom, which could be a rotable bond, cis-trans invertible bond, or chiral center.
stormm::chemistry::IsomerPlan::IsomerPlan | ( | ConformationEdit | motion_in, |
ChiralInversionProtocol | chiral_plan_in, | ||
int | root_atom_in, | ||
int | pivot_atom_in, | ||
const std::vector< int > & | moving_atoms_in, | ||
const AtomGraph * | ag_pointer_in ) |
The constructor takes all applicable arguments. Different overloads check the value of the ConformationEdit parameter to determine whether they have all of the necessary information.
Overloaded:
void stormm::chemistry::IsomerPlan::addMovingAtoms | ( | const std::vector< int > & | new_atom_idx | ) |
Add atoms to the moving atoms list.
new_atom_idx | The list of new atoms |
int stormm::chemistry::IsomerPlan::getMovingAtom | ( | const size_t | index | ) | const |
Get the index of an individual moving atom from within this plan.
index | Index of the atom of interest within the plan (the topological index of the atom will be returned) |