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. | |
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.
|
inline |
Constructs an owned inclusion/exclusion value from two host vectors.
The constructor copies both inputs without validating their lengths or relationship.
| [in] | _sizes | Pair-count vector to copy. |
| [in] | _in14_ex14 | Flattened atom-index vector to copy. |
| std::bad_alloc | If either vector copy cannot allocate storage. |
| std::length_error | If either input exceeds an implementation-defined vector size limit. |
sizes and in14_ex14 are independent copies of the inputs. | 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.
| 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.