STORMM Source Documentation
Loading...
Searching...
No Matches
stormm::energy::StaticExclusionMaskSynthesis Class Reference

An exclusion mask object for a compilation of systems. All systems are represented in full detail, and a series of systems using the same topology will each get their own entries in the supertile map indices array, filtering on down to tile indices and the unique mask data. More...

#include <static_mask_synthesis.h>

Public Member Functions

int getSystemCount () const
 Get the number of systems covered by this object.
 
int getAtomCount (int index=0) const
 Get the number of atoms in one of the systems described by the mask.
 
int getAtomOffset (int index=0) const
 Get the starting position of atoms in one of the systems described by the mask.
 
bool testExclusion (int system_index, int atom_i, int atom_j) const
 Obtain from the mask whether a combination of two atoms in a particular system constitutes an exclusion.
 
SeMaskSynthesisReader data (HybridTargetLevel tier=HybridTargetLevel::HOST) const
 Get the abstract for this static exclusion mask synthesis.
 
 StaticExclusionMaskSynthesis ()
 The constructor requires a list of pre-computed StaticExclusionMask objects, each of which will contain pointers to the original topologies, and a list of indices stating which masks to apply in a given order for the synthesis of systems.
 
 StaticExclusionMaskSynthesis (const std::vector< StaticExclusionMask * > &base_masks, const std::vector< int > &topology_indices)
 
 StaticExclusionMaskSynthesis (const std::vector< StaticExclusionMask > &base_masks, const std::vector< int > &topology_indices)
 
 StaticExclusionMaskSynthesis (const std::vector< AtomGraph * > &base_toplogies, const std::vector< int > &topology_indices)
 
 StaticExclusionMaskSynthesis (const StaticExclusionMaskSynthesis &original)=default
 With no const members or pointers to repair (including POINTER-kind Hybrid) objects, this object is compatible with the default copy and move constructors as well as copy and move assignment operators.
 
 StaticExclusionMaskSynthesis (StaticExclusionMaskSynthesis &&original)=default
 
StaticExclusionMaskSynthesisoperator= (const StaticExclusionMaskSynthesis &original)=default
 
StaticExclusionMaskSynthesisoperator= (StaticExclusionMaskSynthesis &&original)=default
 

Detailed Description

An exclusion mask object for a compilation of systems. All systems are represented in full detail, and a series of systems using the same topology will each get their own entries in the supertile map indices array, filtering on down to tile indices and the unique mask data.

Constructor & Destructor Documentation

◆ StaticExclusionMaskSynthesis() [1/2]

stormm::synthesis::StaticExclusionMaskSynthesis::StaticExclusionMaskSynthesis ( )

The constructor requires a list of pre-computed StaticExclusionMask objects, each of which will contain pointers to the original topologies, and a list of indices stating which masks to apply in a given order for the synthesis of systems.

Overloaded:

  • Create an empty object
  • Accept a list of static exclusion mask object pointers
  • Accept a list of static exclusion mask objects
  • Accept a list of topology pointers, from which exclusion masks will be constructed
  • Accept an existing synthesis of topologies
Parameters
base_masksList of exclusion masks for all unique topologies in the synthesis
base_topologiesList of topologies from which to construct the exclusion masks (providing this removes the need to generate the list of exclusion masks outside this function)
topology_indicesList of indices into base_masks indicating how to compile the synthesis of systems

◆ StaticExclusionMaskSynthesis() [2/2]

stormm::synthesis::StaticExclusionMaskSynthesis::StaticExclusionMaskSynthesis ( const StaticExclusionMaskSynthesis & original)
default

With no const members or pointers to repair (including POINTER-kind Hybrid) objects, this object is compatible with the default copy and move constructors as well as copy and move assignment operators.

Parameters
originalThe original object to copy or move
otherAnother object placed on the right hand side of the assignment statement

Member Function Documentation

◆ getAtomCount()

int stormm::synthesis::StaticExclusionMaskSynthesis::getAtomCount ( int index = 0) const

Get the number of atoms in one of the systems described by the mask.

Parameters
indexThe system index for which to query the atom count

◆ getAtomOffset()

int stormm::synthesis::StaticExclusionMaskSynthesis::getAtomOffset ( int index = 0) const

Get the starting position of atoms in one of the systems described by the mask.

Parameters
indexThe system index for which to query the atom offset

◆ testExclusion()

bool stormm::synthesis::StaticExclusionMaskSynthesis::testExclusion ( int system_index,
int atom_i,
int atom_j ) const

Obtain from the mask whether a combination of two atoms in a particular system constitutes an exclusion.

Parameters
system_indexIndex the system of interest
atom_iIndex of the first atom within the system of interest
atom_jIndex of the second atom within the system of interest

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