|
Gromacs
2026.0-dev-20251105-11eb1db
|
#include <gromacs/selection/indexutil.h>
Data structure for calculating index group mappings.
Public Attributes | |
| e_index_t | type |
| Type of the mapping. More... | |
| int * | refid |
| Current reference IDs. More... | |
| int * | mapid |
| Current mapped IDs. More... | |
| t_blocka | mapb |
| Mapped block structure. More... | |
| int * | orgid |
| Customizable ID numbers for the original blocks. More... | |
| t_blocka | b |
| Block data that defines the mapping (internal use only). More... | |
| bool | bStatic |
| true if the current reference IDs are for the whole group (internal use only). More... | |
| t_blocka gmx_ana_indexmap_t::b |
Block data that defines the mapping (internal use only).
The data is initialized by gmx_ana_indexmap_init() and is not changed after that. Hence, it cannot be directly applied to the index group passed to gmx_ana_indexmap_update() unless bMaskOnly was specified or the index group is identical to the one provided to gmx_ana_indexmap_init().
| bool gmx_ana_indexmap_t::bStatic |
true if the current reference IDs are for the whole group (internal use only).
This is used internally to optimize the evaluation such that gmx_ana_indexmap_update() does not take any time if the group is actually static.
| t_blocka gmx_ana_indexmap_t::mapb |
Mapped block structure.
A block structure that corresponds to the current index group. mapb.nra and mapb.a correspond to the last mapped index group.
| int* gmx_ana_indexmap_t::mapid |
Current mapped IDs.
This array provides IDs for the current index group. Instead of a zero-based mapping that refid provides, the values from the orgid array are used, thus allowing the mapping to be customized. In other words, mapid[i] = orgid[refid[i]]. If bMaskOnly is provided to gmx_ana_indexmap_update(), this array equals orgid.
| int* gmx_ana_indexmap_t::orgid |
Customizable ID numbers for the original blocks.
This array has b.nr elements, each defining an original ID number for a block in b (i.e., in the original group passed to gmx_ana_indexmap_init()). These are initialized in gmx_ana_indexmap_init() based on the type:
All the above numbers are zero-based. After gmx_ana_indexmap_init(), the caller is free to change these values if the above are not appropriate. The mapped values can be read through mapid.
| int* gmx_ana_indexmap_t::refid |
Current reference IDs.
This array provides a mapping from the current index group (last given to gmx_ana_indexmap_update()) to the blocks in b, i.e., the original index group used in gmx_ana_indexmap_init(). The mapping is zero-based. If bMaskOnly is provided to gmx_ana_indexmap_update(), the indices for blocks not present in the current group are set to -1, otherwise they are removed completely and the nr field updated.
| e_index_t gmx_ana_indexmap_t::type |
Type of the mapping.
1.8.5