Gromacs
2024.3
|
Handles coordinate operations for MSD calculations.
Can be used to hold coordinates for individual atoms as well as molecules COMs. Handles PBC jump removal between consecutive frames.
Only previous_ contains valid data between calls to buildCoordinates(), although both vectors are maintained at the correct size for the number of coordinates needed.
Public Member Functions | |
MsdCoordinateManager (const int numAtoms, ArrayRef< const MoleculeData > molecules, ArrayRef< const int > moleculeIndexMapping) | |
ArrayRef< const RVec > | buildCoordinates (const Selection &sel, t_pbc *pbc) |
Prepares coordinates for the current frame. More... | |
ArrayRef< const RVec > gmx::analysismodules::anonymous_namespace{msd.cpp}::MsdCoordinateManager::buildCoordinates | ( | const Selection & | sel, |
t_pbc * | pbc | ||
) |
Prepares coordinates for the current frame.
Reads in selection data, and returns an ArrayRef of the particle positions or molecule centers of mass (if the molecules input is not empty). Removes jumps across periodic boundaries based on the previous frame coordinates, except for the first frame built with builtCoordinates(), which has no previous frame as a reference.
[in] | sel | The selection object which holds coordinates |
[in] | pbc | Information about periodicity. |