STORMM Source Documentation
Loading...
Searching...
No Matches
stormm::structure::IsomerPlan Class Reference

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
 
IsomerPlanoperator= (const IsomerPlan &other)=default
 
IsomerPlanoperator= (IsomerPlan &&other)=default
 

Detailed Description

A shorthand form of a conformational degree of freedom, which could be a rotable bond, cis-trans invertible bond, or chiral center.

Constructor & Destructor Documentation

◆ IsomerPlan()

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:

  • Accept a list of moving atoms
  • Leave the field blank to be filled later
  • Specify the chiral inversion protocol (used only in the case of motion_in being CHIRAL_INVERSION)

Member Function Documentation

◆ addMovingAtoms()

void stormm::chemistry::IsomerPlan::addMovingAtoms ( const std::vector< int > & new_atom_idx)

Add atoms to the moving atoms list.

Parameters
new_atom_idxThe list of new atoms

◆ getMovingAtom()

int stormm::chemistry::IsomerPlan::getMovingAtom ( const size_t index) const

Get the index of an individual moving atom from within this plan.

Parameters
indexIndex of the atom of interest within the plan (the topological index of the atom will be returned)

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