STORMM Source Documentation
Loading...
Searching...
No Matches
stormm::review::SystemCache Class Reference

Simple but central struct to store the primitive form of the collection of systems that most STORMM applications will work with. There are topologies, coordinate sets, and a list of indices to indicate how they mix and match. This object exists on the CPU and in host memory only, but the topology and coordinate contents have CUDA-capable memory components. More...

#include <systemcache.h>

Public Member Functions

int getSystemCount () const
 Get the number of systems.
 
int getTopologyCount () const
 Get the number of topologies.
 
int getLabelCount () const
 Get the number of unique labels across all systems.
 
int getRestraintCount () const
 Get the number of different restraint apparatuses. Many restraint apparatuses may be unique in the sense that they have different stiffness and displacement settings, even though they apply their restraints to the same atoms of different systems guided by the same topology.
 
int getSystemExampleIndex (int topology_index) const
 Get the index of a coordinate set which provides an example of the system that one of the topologies in the cache describes.
 
const AtomGraphgetTopology (int topology_index) const
 Get a reference to one of the unique topologies from within the topology cache, based on an index into the cache itself.
 
const std::string & getLabel (int label_index) const
 Get a label from the cache by the numerical index in which it appears in the list of all labels.
 
int getLabelCacheIndex (const std::string &query) const
 Get the index of a particular string label within the cache. The index is found by a deep match to the string's contents. If no match is found, the function will return the total number of labels in the cache.
 
const AtomGraphgetSystemTopology (int index) const
 Return a reference to the topology that describes a particular set of coordinates within the SystemCache. All overloads apply a bounds check.
 
AtomGraphSynthesis exportTopologySynthesis (const GpuDetails &gpu=null_gpu, const ExceptionResponse policy=ExceptionResponse::DIE) const
 Return a synthesis of the topologies in the cache, laid out as appropriate for all systems including replicas.
 
PhaseSpaceSynthesis exportCoordinateSynthesis (int globalpos_scale_bits=default_globalpos_scale_bits, int velocity_scale_bits=default_velocity_scale_bits, int force_scale_bits=default_force_scale_bits) const
 Create and return a coordinate synthesis based on entries in the cache.
 
const ChemicalFeatures & getFeatures (int index) const
 Get a reference to the chemical features for a particular system in the cache.
 
const RestraintApparatus & getRestraints (int index) const
 Get a reference to the restraint apparatus for a particular system.
 
const StaticExclusionMask & getSystemStaticMask (int index) const
 Get a reference to the static exclusion mask for a particular system. These masks will only have been calculated for systems with isolated boundary conditions.
 
const ForwardExclusionMask & getSystemForwardMask (int index) const
 Get a reference to the forward exclusion mask for a particular system. These masks will only have been calculated for systems with periodic boundary conditions.
 
int getTopologyCaseCount (int topology_index) const
 Get the number of systems described by a topology of the given index in this cache.
 
std::vector< int > getTopologicalCases (int topology_index) const
 Get a list of indices for all systems in the cache described by the topology of interest.
 
const std::string & getInputCoordinatesName (int system_index) const
 Get the input coordinate file name for a particular system. This is not subject to manipulations to differentiate the name as the output formats are.
 
int getSystemLabelIndex (int system_index) const
 Get the index of the cached label associated with a particular system in the cache.
 
const std::string & getSystemLabel (int system_index) const
 Get the label associated with a particular system in the cache.
 
const SystemCachegetSelfPointer () const
 Get a const pointer to the object itself.
 
void setPrintingProtocol (const PrintSituation expectation_in)
 Set the printing protocol.
 
TrajectoryFusion getTrajectoryFusionProtocol () const
 Get the trajectory fusion protocol.
 
void setTrajectoryFusionProtocol (TrajectoryFusion file_merger_protocol_in)
 Set the trajectory fusion protocol.
 
 SystemCache (ExceptionResponse policy_in=ExceptionResponse::DIE, MapRotatableGroups map_chemfe_rotators=MapRotatableGroups::NO, PrintSituation expectation_in=PrintSituation::OPEN_NEW)
 The constructor takes the output of &files namelist reading, perhaps with some additional command-line edits. An empty object overload is available because it is trivial and works well for delegation.
 
 SystemCache (const FilesControls &fcon, const std::vector< RestraintControls > &rstcon, const DynamicsControls &dyncon, ExceptionResponse policy_in=ExceptionResponse::DIE, MapRotatableGroups map_chemfe_rotators=MapRotatableGroups::NO, PrintSituation expectation_in=PrintSituation::OPEN_NEW, StopWatch *timer_in=nullptr)
 
 SystemCache (const FilesControls &fcon, const DynamicsControls &dyncon, ExceptionResponse policy_in=ExceptionResponse::DIE, MapRotatableGroups map_chemfe_rotators=MapRotatableGroups::NO, PrintSituation expectation_in=PrintSituation::OPEN_NEW, StopWatch *timer_in=nullptr)
 
 SystemCache (const FilesControls &fcon, ExceptionResponse policy_in=ExceptionResponse::DIE, MapRotatableGroups map_chemfe_rotators=MapRotatableGroups::NO, PrintSituation expectation_in=PrintSituation::OPEN_NEW, StopWatch *timer_in=nullptr)
 
 SystemCache (const SystemCache &original)=default
 The default copy and move constructors, copy and move assignment operators will be effective for this object based entirely on Standard Template Library components.
 
 SystemCache (SystemCache &&original)=default
 
SystemCacheoperator= (const SystemCache &other)=default
 
SystemCacheoperator= (SystemCache &&other)=default
 
int getSystemTopologyIndex (int coord_index) const
 Get the topology index of one of the coordinate sets contained in this cache. This will apply a bounds check to the coordinate index query. This function should be used to access topologies in the output of a getTopology() or getTopologyPointer() call when the full array is returned without function input arguments. Calling either getTopology() or getTopologyPointer() with an integer argument implicitly performs the operation of getting the appropriate topology list index, as would be found by this function, and thus returns a reference or pointer to the appropriate topology.
 
std::vector< int > getSystemTopologyIndex () const
 
const AtomGraphgetTopologyPointer (int topology_index) const
 Get pointers to one or all of the unique topologies from within the compact topology cache.
 
AtomGraphgetTopologyPointer (int topology_index)
 
const std::vector< AtomGraph * > getTopologyPointer () const
 
std::vector< AtomGraph * > getTopologyPointer ()
 
int getTopologyCacheIndex (const AtomGraph *ag) const
 Match a topology to one in the cache. If no match is found, the function will return the number of topologies in the cache.
 
int getTopologyCacheIndex (const AtomGraph &ag) const
 
const std::vector< AtomGraph * > getTopologiesMatchingLabel (const std::string &query_label) const
 Get a list of topologies associated with a particular label. This will return a vector of pointers to the topologies within the cache, and will return an empty vector if no matches are found.
 
std::vector< AtomGraph * > getTopologiesMatchingLabel (const std::string &query_label)
 
std::vector< std::string > getLabelsMatchingTopology (const AtomGraph *query_ag) const
 Get a list of labels associated with a particular topology. This will return copies of each label string which can then be manipulated at the developer's discretion. A blank vector is returned if no associated labels are found.
 
std::vector< std::string > getLabelsMatchingTopology (const AtomGraph &query_ag) const
 
std::vector< int > getMatchingSystemIndices (const AtomGraph *query_ag, const std::string &query_label) const
 Return the indices of all systems from within the cache, matching a particular topology and / or a label.
 
std::vector< int > getMatchingSystemIndices (const AtomGraph &query_ag, const std::string &query_label) const
 
std::vector< int > getMatchingSystemIndices (const AtomGraph *query_ag) const
 
std::vector< int > getMatchingSystemIndices (const AtomGraph &query_ag) const
 
std::vector< int > getMatchingSystemIndices (const std::string &query_label) const
 
int getFirstMatchingSystemIndex (const AtomGraph *query_ag, ExceptionResponse xcpt=ExceptionResponse::DIE) const
 Get the index of the first system matching the topology and / or system label.
 
int getFirstMatchingSystemIndex (const std::string &query_label, ExceptionResponse xcpt=ExceptionResponse::DIE) const
 
int getFirstMatchingSystemIndex (const AtomGraph *query_ag, const std::string &query_label, ExceptionResponse xcpt=ExceptionResponse::DIE) const
 
const AtomGraphgetSystemTopologyPointer (int index) const
 Get a pointer to a topology in the cache associated with a particular coordinate set.
 
AtomGraphgetSystemTopologyPointer (int index)
 
const std::vector< AtomGraph * > getSystemTopologyPointer () const
 
std::vector< AtomGraph * > getSystemTopologyPointer ()
 
const PhaseSpace * getCoordinatePointer (int index) const
 Get a pointer to a set of coordinates, velocities, and forces in the cache.
 
PhaseSpace * getCoordinatePointer (int index)
 
const std::vector< PhaseSpace * > getCoordinatePointer () const
 
std::vector< PhaseSpace * > getCoordinatePointer ()
 
const PhaseSpace & getCoordinates (int index) const
 Return a reference to a set of coordinates, velocities, and forces in the cache.
 
const std::vector< PhaseSpace > & getCoordinates () const
 
const MdlMol * getStructureDataEntryPointer (int index) const
 Get a pointer to one of the MDL MOL objects in the cache.
 
MdlMol * getStructureDataEntryPointer (int index)
 
const std::vector< MdlMol * > getStructureDataEntryPointer () const
 
std::vector< MdlMol * > getStructureDataEntryPointer ()
 
const MdlMol & getStructureDataEntry (int index) const
 Return a reference to one of the MDL MOL entries in the cache.
 
const std::vector< MdlMol > & getStructureDataEntry () const
 
const ChemicalFeatures * getFeaturesPointer (int index) const
 Get a pointer to the chemical features for a particular system in the cache.
 
ChemicalFeatures * getFeaturesPointer (int index)
 
const std::vector< ChemicalFeatures * > getFeaturesPointer () const
 
std::vector< ChemicalFeatures * > getFeaturesPointer ()
 
const RestraintApparatus * getRestraintPointer (int index) const
 Get a pointer to the restraint apparatus for a particular system.
 
RestraintApparatus * getRestraintPointer (int index)
 
const std::vector< RestraintApparatus * > getRestraintPointer () const
 
std::vector< RestraintApparatus * > getRestraintPointer ()
 
const std::vector< StaticExclusionMask * > getUniqueStaticMaskPointers () const
 Get a vector of all unique static exclusion masks in the system cache, ordered as they appear in the cache itself and therefore indexed by the output of getSystemTopologyIndex().
 
std::vector< StaticExclusionMask * > getUniqueStaticMaskPointers ()
 
const StaticExclusionMask * getSystemStaticMaskPointer (int index) const
 Get a pointer to the static exclusion mask for a particular system. These masks will only have been calculated for systems with isolated boundary conditions.
 
StaticExclusionMask * getSystemStaticMaskPointer (int index)
 
const ForwardExclusionMask * getSystemForwardMaskPointer (int index) const
 Get a pointer to the forward exclusion mask for a particular system. These masks will only have been calculated for systems with periodic boundary conditions.
 
ForwardExclusionMask * getSystemForwardMaskPointer (int index)
 
std::string getTrajectoryName (int system_index) const
 Get the name of the trajectory file associated with one of the systems. The name will be manipulated (by adding _## before the final '.', or at the end of the file name if there is no '.').
 
const std::string & getTrajectoryName (const AtomGraph *query_ag) const
 
const std::string & getTrajectoryName (const AtomGraph &query_ag) const
 
const std::string & getTrajectoryName (const AtomGraph *query_ag, const std::string &query_label) const
 
const std::string & getTrajectoryName (const AtomGraph &query_ag, const std::string &query_label) const
 
const std::string & getTrajectoryName (const std::string &query_label) const
 
std::string getCheckpointName (int system_index) const
 Get the name of the checkpoint (restart) file associated with one of the systems. This name will also be manipulated to differentiate systems making use of the same label.
 
const std::string & getCheckpointName (const AtomGraph *query_ag) const
 
const std::string & getCheckpointName (const AtomGraph &query_ag) const
 
const std::string & getCheckpointName (const AtomGraph *query_ag, const std::string &query_label) const
 
const std::string & getCheckpointName (const AtomGraph &query_ag, const std::string &query_label) const
 
const std::string & getCheckpointName (const std::string &query_label) const
 
CoordinateFileKind getInputCoordinatesKind (const int system_index) const
 Get the coordinate file type associated with a particular system's input. Raise an error if the system cannot be identified within the cache.
 
CoordinateFileKind getInputCoordinatesKind (const AtomGraph *query_ag) const
 
CoordinateFileKind getInputCoordinatesKind (const AtomGraph &query_ag) const
 
CoordinateFileKind getInputCoordinatesKind (const AtomGraph *query_ag, const std::string &query_label) const
 
CoordinateFileKind getInputCoordinatesKind (const AtomGraph &query_ag, const std::string &query_label) const
 
CoordinateFileKind getInputCoordinatesKind (const std::string &query_label) const
 
CoordinateFileKind getTrajectoryKind (const int system_index) const
 Get the coordinate file type associated with a particular system's trajectory.
 
CoordinateFileKind getTrajectoryKind (const AtomGraph *query_ag) const
 
CoordinateFileKind getTrajectoryKind (const AtomGraph &query_ag) const
 
CoordinateFileKind getTrajectoryKind (const AtomGraph *query_ag, const std::string &query_label) const
 
CoordinateFileKind getTrajectoryKind (const AtomGraph &query_ag, const std::string &query_label) const
 
CoordinateFileKind getTrajectoryKind (const std::string &query_label) const
 
CoordinateFileKind getCheckpointKind (const int system_index) const
 Get the coordinate file type associated with a particular system's checkpoint file.
 
CoordinateFileKind getCheckpointKind (const AtomGraph *query_ag) const
 
CoordinateFileKind getCheckpointKind (const AtomGraph &query_ag) const
 
CoordinateFileKind getCheckpointKind (const AtomGraph *query_ag, const std::string &query_label) const
 
CoordinateFileKind getCheckpointKind (const AtomGraph &query_ag, const std::string &query_label) const
 
CoordinateFileKind getCheckpointKind (const std::string &query_label) const
 
PrintSituation getPrintingProtocol () const
 When multiple systems' coordinates are to be combined into a particular file, the file may be opened as a new file once, with whatever overwriting protocol, to write the first set of coordinates. Thereafter, the printing protocol must change: it should be appended with other systems from the same label group. This function will determine how to modulate the printing protcol.
 
PrintSituation getPrintingProtocol (CoordinateFileRole purpose, int system_index) const
 

Detailed Description

Simple but central struct to store the primitive form of the collection of systems that most STORMM applications will work with. There are topologies, coordinate sets, and a list of indices to indicate how they mix and match. This object exists on the CPU and in host memory only, but the topology and coordinate contents have CUDA-capable memory components.

Constructor & Destructor Documentation

◆ SystemCache()

stormm::synthesis::SystemCache::SystemCache ( ExceptionResponse policy_in = ExceptionResponse::DIE,
MapRotatableGroups map_chemfe_rotators = MapRotatableGroups::NO,
PrintSituation expectation_in = PrintSituation::OPEN_NEW )

The constructor takes the output of &files namelist reading, perhaps with some additional command-line edits. An empty object overload is available because it is trivial and works well for delegation.

Parameters
fconContents of the input deck's &files namelist and possible command-line edits
rstconContents of the input deck's &restraint namelists and possible command-line edits
sdf_recoveryList of structures read in MDL MOL format, along with any data items found in the SD file containing them, tracking the order of all systems in the cache. Modified and returned. Systems whose coordinates do not enter by an SD file will have placeholder MdlMol entries in this list with zero atoms. If set to nullptr, no list of MdlMol objects will be generated.
policy_inResponse to bad user input, i.e. files of the wrong type
map_chemfe_rotatorsDirective to have all topologies' chemical features mapped
expectation_inThe expected presence of output files

Member Function Documentation

◆ exportTopologySynthesis()

AtomGraphSynthesis stormm::synthesis::SystemCache::exportTopologySynthesis ( const GpuDetails & gpu = null_gpu,
const ExceptionResponse policy = ExceptionResponse::DIE ) const

Return a synthesis of the topologies in the cache, laid out as appropriate for all systems including replicas.

Parameters
gpuSpecifications of the GPU that will manage calculations involving the synthesis
policyThe course of action if errors are encountered while building the synthesis. Defaults to DIE as errors in the underlying topologies are assumed to have been reported when first building the SystemCache object itself.

◆ getCheckpointKind()

CoordinateFileKind stormm::synthesis::SystemCache::getCheckpointKind ( const int system_index) const

Get the coordinate file type associated with a particular system's checkpoint file.

Parameters
system_indexIndex of the system from within the coordinates cache
query_agTopology to seek out (this may or may not provide an unambiguous answer, and will produce the first available answer if there are multiple solutions)
query_labelLabel to seek out (this may or may not provide an unambiguous answer, and will produce the first available answer if there are multiple solutions)

◆ getCheckpointName()

std::string stormm::synthesis::SystemCache::getCheckpointName ( int system_index) const

Get the name of the checkpoint (restart) file associated with one of the systems. This name will also be manipulated to differentiate systems making use of the same label.

Overloaded:

  • Specify the system by index
  • Specify the system by topology and / or label
Parameters
system_indexIndex of the system from within the coordinates cache
query_agTopology to seek out (this may or may not provide an unambiguous answer, and will produce the first available answer if there are multiple solutions)
system_indexIndex of the system from within the coordinates cache

◆ getCoordinatePointer()

const PhaseSpace * stormm::synthesis::SystemCache::getCoordinatePointer ( int index) const

Get a pointer to a set of coordinates, velocities, and forces in the cache.

Overloaded:

  • Get a pointer to a specific PhaseSpace object (this will apply a bounds check)
  • Get a pointer to the array for all PhaseSpace objects (this will not check bounds)
  • Const and non-const versions of each
Parameters
indexIndex of the requested PhaseSpace object

◆ getCoordinates()

const PhaseSpace & stormm::synthesis::SystemCache::getCoordinates ( int index) const

Return a reference to a set of coordinates, velocities, and forces in the cache.

Overloaded:

  • Return a const reference to an object in a const SystemCache
  • Return a non-const reference to an object in a non-const SystemCache
  • Return a reference to the entire array of PhaseSpace objects
Parameters
indexIndex of the system, the PhaseSpace object of interest

◆ getFeatures()

const ChemicalFeatures & stormm::synthesis::SystemCache::getFeatures ( int index) const

Get a reference to the chemical features for a particular system in the cache.

Parameters
indexIndex of the system of interest

◆ getFeaturesPointer()

const ChemicalFeatures * stormm::synthesis::SystemCache::getFeaturesPointer ( int index) const

Get a pointer to the chemical features for a particular system in the cache.

Overloaded:

  • Return a const pointer to an object in a const SystemCache
  • Return a non-const pointer to an object in a non-const SystemCache
Parameters
indexIndex of the system of interest

◆ getFirstMatchingSystemIndex()

int stormm::synthesis::SystemCache::getFirstMatchingSystemIndex ( const AtomGraph * query_ag,
ExceptionResponse xcpt = ExceptionResponse::DIE ) const

Get the index of the first system matching the topology and / or system label.

Overloaded:

  • Provide a topology only
  • Provide a label only
  • Provide both a topology and a system label
Parameters
query_agThe topology to match
query_labelThe label to seek out
xcptThe course of action to take if no matching system can be found. If the protocol is not DIE, this function will behave much like the Standard Template Library's find() function and return the total number of systems, which may be useful under some circumstances.

◆ getInputCoordinatesKind()

CoordinateFileKind stormm::synthesis::SystemCache::getInputCoordinatesKind ( const int system_index) const

Get the coordinate file type associated with a particular system's input. Raise an error if the system cannot be identified within the cache.

Overloaded:

  • Specify the system by index
  • Specify the system by topology and / or label
Parameters
system_indexIndex of the system from within the coordinates cache
query_agTopology to seek out (this may or may not provide an unambiguous answer, and will produce the first available answer if there are multiple solutions)
query_labelLabel to seek out (this may or may not provide an unambiguous answer, and will produce the first available answer if there are multiple solutions)

◆ getInputCoordinatesName()

const std::string & stormm::synthesis::SystemCache::getInputCoordinatesName ( int system_index) const

Get the input coordinate file name for a particular system. This is not subject to manipulations to differentiate the name as the output formats are.

Parameters
system_indexIndex of the system from within the coordinates cache

◆ getLabel()

const std::string & stormm::synthesis::SystemCache::getLabel ( int label_index) const

Get a label from the cache by the numerical index in which it appears in the list of all labels.

Parameters
label_indexIndex of the label of interest

◆ getLabelCacheIndex()

int stormm::synthesis::SystemCache::getLabelCacheIndex ( const std::string & query) const

Get the index of a particular string label within the cache. The index is found by a deep match to the string's contents. If no match is found, the function will return the total number of labels in the cache.

Parameters
queryThe string label to match

◆ getLabelsMatchingTopology()

std::vector< std::string > stormm::synthesis::SystemCache::getLabelsMatchingTopology ( const AtomGraph * query_ag) const

Get a list of labels associated with a particular topology. This will return copies of each label string which can then be manipulated at the developer's discretion. A blank vector is returned if no associated labels are found.

Overloaded:

  • Indicate the topology by pointer or by reference
Parameters
query_agThe topology to search for in the cache

◆ getMatchingSystemIndices()

std::vector< int > stormm::synthesis::SystemCache::getMatchingSystemIndices ( const AtomGraph * query_ag,
const std::string & query_label ) const

Return the indices of all systems from within the cache, matching a particular topology and / or a label.

Overloaded:

  • Indicate the topology by pointer or by reference
  • Provide a topology, a label, or both
Parameters
query_agThe topology to match
query_labelThe label to seek out

◆ getPrintingProtocol()

PrintSituation stormm::synthesis::SystemCache::getPrintingProtocol ( ) const

When multiple systems' coordinates are to be combined into a particular file, the file may be opened as a new file once, with whatever overwriting protocol, to write the first set of coordinates. Thereafter, the printing protocol must change: it should be appended with other systems from the same label group. This function will determine how to modulate the printing protcol.

Overloaded:

  • Call with no arguments to get the baseline printing protocol, and that used for the first frames written under any label group
  • Call with the role of a coordinates file and the system index to get the modified protocol specific to writing frames of that system
Parameters
purposeThe role that the file will play
systm_indexA particular system for which to obtain the printing protocol, which may be modified from the original if the system shares the same label as any others

◆ getRestraintPointer()

const RestraintApparatus * stormm::synthesis::SystemCache::getRestraintPointer ( int index) const

Get a pointer to the restraint apparatus for a particular system.

Overloaded:

  • Return a const pointer to an object in a const SystemCache
  • Return a non-const pointer to an object in a non-const SystemCache
  • Return a const vector of pointers to restraints for all systems in a const SystemCache. If requested n this format, a vector of restraint apparatuses for each system in the cache will be returned–the indexing against a smaller list of unique restraint objects held within the SystemCache is implicit.
  • Return a non-const vector of pointers to restraints for all systems in a mutable SystemCache. See the const case above for a description of the content of this vector.
Parameters
indexIndex of the system of interest

◆ getRestraints()

const RestraintApparatus & stormm::synthesis::SystemCache::getRestraints ( int index) const

Get a reference to the restraint apparatus for a particular system.

Parameters
indexIndex of the system of interest

◆ getStructureDataEntry()

const MdlMol & stormm::synthesis::SystemCache::getStructureDataEntry ( int index) const

Return a reference to one of the MDL MOL entries in the cache.

Overloaded:

  • Return a const reference to an object in a const SystemCache
  • Return a non-const reference to an object in a non-const SystemCache
  • Return a reference to the entire array of MDL MOL objects
Parameters
indexIndex of the system, the MDL MOL object of interest

◆ getStructureDataEntryPointer()

const MdlMol * stormm::synthesis::SystemCache::getStructureDataEntryPointer ( int index) const

Get a pointer to one of the MDL MOL objects in the cache.

Overloaded:

  • Get a pointer to a specific MDL MOL object (this will apply a bounds check)
  • Get a pointer to the array for all MDL MOL objects (this will not check bounds)
  • Const and non-const versions of each
Parameters
indexIndex of the requested MDL MOL object

◆ getSystemExampleIndex()

int stormm::synthesis::SystemCache::getSystemExampleIndex ( int topology_index) const

Get the index of a coordinate set which provides an example of the system that one of the topologies in the cache describes.

Parameters
topology_indexIndex of the topology of interest

◆ getSystemForwardMask()

const ForwardExclusionMask & stormm::synthesis::SystemCache::getSystemForwardMask ( int index) const

Get a reference to the forward exclusion mask for a particular system. These masks will only have been calculated for systems with periodic boundary conditions.

Parameters
indexIndex of the system of interest

◆ getSystemForwardMaskPointer()

const ForwardExclusionMask * stormm::synthesis::SystemCache::getSystemForwardMaskPointer ( int index) const

Get a pointer to the forward exclusion mask for a particular system. These masks will only have been calculated for systems with periodic boundary conditions.

Overloaded:

  • Return a const pointer to an object in a const SystemCache
  • Return a non-const pointer to an object in a non-const SystemCache
Parameters
indexIndex of the system of interest

◆ getSystemLabel()

const std::string & stormm::synthesis::SystemCache::getSystemLabel ( int system_index) const

Get the label associated with a particular system in the cache.

Parameters
system_indexIndex of the system from within the coordinates cache

◆ getSystemLabelIndex()

int stormm::synthesis::SystemCache::getSystemLabelIndex ( int system_index) const

Get the index of the cached label associated with a particular system in the cache.

Parameters
system_indexIndex of the system from within the coordinates cache

◆ getSystemStaticMask()

const StaticExclusionMask & stormm::synthesis::SystemCache::getSystemStaticMask ( int index) const

Get a reference to the static exclusion mask for a particular system. These masks will only have been calculated for systems with isolated boundary conditions.

Parameters
indexIndex of the system of interest

◆ getSystemStaticMaskPointer()

const StaticExclusionMask * stormm::synthesis::SystemCache::getSystemStaticMaskPointer ( int index) const

Get a pointer to the static exclusion mask for a particular system. These masks will only have been calculated for systems with isolated boundary conditions.

Overloaded:

  • Return a const pointer to an object in a const SystemCache
  • Return a non-const pointer to an object in a non-const SystemCache
  • Return a vector of static masks to all systems in the object
Parameters
indexIndex of the system of interest

◆ getSystemTopology()

const AtomGraph & stormm::synthesis::SystemCache::getSystemTopology ( int index) const

Return a reference to the topology that describes a particular set of coordinates within the SystemCache. All overloads apply a bounds check.

Parameters
indexIndex of the coordinate system of interest

◆ getSystemTopologyIndex()

int stormm::synthesis::SystemCache::getSystemTopologyIndex ( int coord_index) const

Get the topology index of one of the coordinate sets contained in this cache. This will apply a bounds check to the coordinate index query. This function should be used to access topologies in the output of a getTopology() or getTopologyPointer() call when the full array is returned without function input arguments. Calling either getTopology() or getTopologyPointer() with an integer argument implicitly performs the operation of getting the appropriate topology list index, as would be found by this function, and thus returns a reference or pointer to the appropriate topology.

Overloaded:

  • Get the unique topology index of a particular system in the cache
  • Get the unique topology indices of all systems in the order they are stored in the cache
Parameters
coord_indexIndex of the PhaseSpace entry object of interest

◆ getSystemTopologyPointer()

const AtomGraph * stormm::synthesis::SystemCache::getSystemTopologyPointer ( int index) const

Get a pointer to a topology in the cache associated with a particular coordinate set.

Overloaded:

  • Get a pointer to the topology for a specific coordinate set (this will apply a bounds check)
  • Get pointers to topologies for all coordinate sets (this will not apply a bounds check)
  • Const and non-const versions of each
Parameters
indexIndex of the PhaseSpace entry of interest

◆ getTopologicalCases()

std::vector< int > stormm::synthesis::SystemCache::getTopologicalCases ( int topology_index) const

Get a list of indices for all systems in the cache described by the topology of interest.

Parameters
topology_indexThe index of the topology of interest

◆ getTopologiesMatchingLabel()

const std::vector< AtomGraph * > stormm::synthesis::SystemCache::getTopologiesMatchingLabel ( const std::string & query_label) const

Get a list of topologies associated with a particular label. This will return a vector of pointers to the topologies within the cache, and will return an empty vector if no matches are found.

Overloaded:

  • Return a const vector of pointers to the cached topologies of a const object
  • Return an unprotected vector of pointers to the cached topologies of a non-const object
Parameters
query_labelThe label to search for in the cache

◆ getTopology()

const AtomGraph & stormm::synthesis::SystemCache::getTopology ( int topology_index) const

Get a reference to one of the unique topologies from within the topology cache, based on an index into the cache itself.

Parameters
topology_indexIndex of the topology of interes

◆ getTopologyCacheIndex()

int stormm::synthesis::SystemCache::getTopologyCacheIndex ( const AtomGraph * ag) const

Match a topology to one in the cache. If no match is found, the function will return the number of topologies in the cache.

Overloaded:

  • Indicate the topology by pointer
  • Indicate the topology by reference
Parameters
agThe topology for comparison

◆ getTopologyCaseCount()

int stormm::synthesis::SystemCache::getTopologyCaseCount ( int topology_index) const

Get the number of systems described by a topology of the given index in this cache.

Parameters
topology_indexThe index of the topology of interest

◆ getTopologyPointer()

const AtomGraph * stormm::synthesis::SystemCache::getTopologyPointer ( int topology_index) const

Get pointers to one or all of the unique topologies from within the compact topology cache.

Overloaded:

  • Get a pointer to one topology
  • Get a vector of pointers to all unique topologies in the SystemCache.
  • Return const pointers to topologies in a const SystemCache object, or non-const pointers to topologies in a non-const SystemCache.
Parameters
topology_indexIndex of the topology of interest

◆ getTrajectoryKind()

CoordinateFileKind stormm::synthesis::SystemCache::getTrajectoryKind ( const int system_index) const

Get the coordinate file type associated with a particular system's trajectory.

Parameters
system_indexIndex of the system from within the coordinates cache
query_agTopology to seek out (this may or may not provide an unambiguous answer, and will produce the first available answer if there are multiple solutions)
query_labelLabel to seek out (this may or may not provide an unambiguous answer, and will produce the first available answer if there are multiple solutions)

◆ getTrajectoryName()

std::string stormm::synthesis::SystemCache::getTrajectoryName ( int system_index) const

Get the name of the trajectory file associated with one of the systems. The name will be manipulated (by adding _## before the final '.', or at the end of the file name if there is no '.').

Overloaded:

  • Specify the system by index
  • Specify the system by topology and / or label
Parameters
system_indexIndex of the system from within the coordinates cache
query_agTopology to seek out (this may or may not provide an unambiguous answer, and will produce the first available answer if there are multiple solutions)
system_indexIndex of the system from within the coordinates cache

◆ getUniqueStaticMaskPointers()

const std::vector< StaticExclusionMask * > stormm::synthesis::SystemCache::getUniqueStaticMaskPointers ( ) const

Get a vector of all unique static exclusion masks in the system cache, ordered as they appear in the cache itself and therefore indexed by the output of getSystemTopologyIndex().

Overloaded:

  • Return a const vector of non-const pointers to the masks held in a const SystemCache
  • Return a non-const vector of non-const pointers to masks held in a mutable SystemCache

◆ setPrintingProtocol()

void stormm::synthesis::SystemCache::setPrintingProtocol ( const PrintSituation expectation_in)

Set the printing protocol.

Parameters
expectation_inThe protocol to use in printing any files

◆ setTrajectoryFusionProtocol()

void stormm::synthesis::SystemCache::setTrajectoryFusionProtocol ( TrajectoryFusion file_merger_protocol_in)

Set the trajectory fusion protocol.

Parameters
file_merger_protocol_inThe new protocol to use.

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