apoCHARMM 1.0.0
High-performance molecular dynamics simulations on GPUs
 
Loading...
Searching...
No Matches
InclusionExclusion Struct Reference

Owns the flattened inclusion and exclusion lists derived from a PSF. More...

#include <CharmmPSF.h>

Public Member Functions

 InclusionExclusion (const std::vector< int > &_sizes, const std::vector< int > &_in14_ex14)
 Constructs an owned inclusion/exclusion value from two host vectors.
 

Public Attributes

std::vector< int > sizes
 Stores the dimensionless inclusion and exclusion pair counts.
 
std::vector< int > in14_ex14
 Stores concatenated zero-based atom-index pairs.
 

Detailed Description

Owns the flattened inclusion and exclusion lists derived from a PSF.

Values returned by CharmmPSF::getInclusionExclusionLists contain two pair counts and one concatenated zero-based atom-index array. Inclusion pairs precede exclusion pairs. This value type owns independent host-side copies and performs no CUDA allocation or transfer.

Constructor & Destructor Documentation

◆ InclusionExclusion()

InclusionExclusion::InclusionExclusion ( const std::vector< int > &  _sizes,
const std::vector< int > &  _in14_ex14 
)
inline

Constructs an owned inclusion/exclusion value from two host vectors.

The constructor copies both inputs without validating their lengths or relationship.

Parameters
[in]_sizesPair-count vector to copy.
[in]_in14_ex14Flattened atom-index vector to copy.
Exceptions
std::bad_allocIf either vector copy cannot allocate storage.
std::length_errorIf either input exceeds an implementation-defined vector size limit.
Postcondition
sizes and in14_ex14 are independent copies of the inputs.

Member Data Documentation

◆ in14_ex14

std::vector<int> InclusionExclusion::in14_ex14

Stores concatenated zero-based atom-index pairs.

For values returned by CharmmPSF, the vector length is 2 * (sizes[0] + sizes[1]). The first 2 * sizes[0] elements are inclusion pairs. The remaining elements are exclusion pairs.

◆ sizes

std::vector<int> InclusionExclusion::sizes

Stores the dimensionless inclusion and exclusion pair counts.

For values returned by CharmmPSF, the vector has length two: sizes[0] is the number of inclusion pairs and sizes[1] is the number of exclusion pairs.