STORMM Source Documentation
Loading...
Searching...
No Matches
stormm::synthesis::SyPermutorKit< T > Struct Template Reference

Read-only abstract for the SynthesisPermutor. Access to all of the atom groups, critical measurements, and settings for mutable components is contained herein. More...

#include <synthesis_permutor.h>

Collaboration diagram for stormm::synthesis::SyPermutorKit< T >:

Public Member Functions

 SyPermutorKit (int system_count_in, int perm_map_count_in, const int *perm_map_idx_in, const int2 *perm_elements_in, const int *perm_element_bounds_in, const int *system_settings_in, const int *system_settings_limits_in, const int *rot_grp_atoms_in, const int *rot_grp_bounds_in, const int *prm_rot_grp_bounds_in, const int *ctx_grp_atoms_in, const int *ctx_grp_bounds_in, const int *prm_ctx_grp_bounds_in, const int *inv_grp_atoms_in, const int *inv_grp_bounds_in, const int *prm_inv_grp_bounds_in, const int *chiral_atoms_in, const int *chiral_protocols_in, const int4 *rot_bond_markers_in, const int4 *ctx_bond_markers_in, const int4 *chiral_markers_in, const T *rot_bond_settings_in, const T *ctx_bond_settings_in, const int *rot_bond_settings_bounds_in, const int *ctx_bond_settings_bounds_in, const int *chiral_settings_in, const int *chiral_settings_bounds_in)
 As with other abstracts, the constructor takes input arguments for every member variable.
 

Public Attributes

int system_count
 Number of systems in the synthesis.
 
int perm_map_count
 
const int * perm_map_idx
 
const int2perm_elements
 
const int * perm_element_bounds
 Bounds array for perm_elements.
 
const int * system_settings
 
const int * system_settings_limits
 
const int * rot_grp_atoms
 Rotatable bond group associated atoms.
 
const int * rot_grp_bounds
 Bounds array for rot_grp_atoms.
 
const int * prm_rot_grp_bounds
 
const int * ctx_grp_atoms
 Cis-trans isomeric bond group atoms.
 
const int * ctx_grp_bounds
 Bounds array for ctx_grp_atoms.
 
const int * prm_ctx_grp_bounds
 
const int * inv_grp_atoms
 Chiral center inversion group atoms.
 
const int * inv_grp_bounds
 Bounds array for inv_grp_atoms.
 
const int * prm_inv_grp_bounds
 
const int * chiral_atoms
 
const int * chiral_protocols
 
const int4rot_bond_markers
 
const int4ctx_bond_markers
 
const int4chiral_markers
 
const T * rot_bond_settings
 Specific values that each rotatable bond can take on.
 
const T * ctx_bond_settings
 
const int * chiral_settings
 Specific values that each chiral center can take on.
 
const int * rot_bond_settings_bounds
 Bounds array for rot_bond_settings.
 
const int * ctx_bond_settings_bounds
 Bounds array for ctx_bond_settings.
 
const int * chiral_settings_bounds
 Bounds array for chiral_settings.
 

Detailed Description

template<typename T>
struct stormm::synthesis::SyPermutorKit< T >

Read-only abstract for the SynthesisPermutor. Access to all of the atom groups, critical measurements, and settings for mutable components is contained herein.

Member Data Documentation

◆ chiral_atoms

template<typename T>
const int* stormm::synthesis::SyPermutorKit< T >::chiral_atoms

Concatenated lists of chiral atoms in all systems, also bounded by prm_inv_grp_bounds

◆ chiral_markers

template<typename T>
const int4* stormm::synthesis::SyPermutorKit< T >::chiral_markers

Marker atoms for each chiral center, giving chiral arm priorities in the order .x = 0, .y = 3, .z = 2, and .w = 1. See the ChemicalFeatures object documentation for more details.

◆ chiral_protocols

template<typename T>
const int* stormm::synthesis::SyPermutorKit< T >::chiral_protocols

Protocols for inverting each chiral center in each system, also bounded by prm_inv_grp_bounds

◆ ctx_bond_markers

template<typename T>
const int4* stormm::synthesis::SyPermutorKit< T >::ctx_bond_markers

Marker atoms for each cis-trans isomeric bond, used to define the angle about that bond

◆ ctx_bond_settings

template<typename T>
const T* stormm::synthesis::SyPermutorKit< T >::ctx_bond_settings

Specific values that each cis-trans isomeric bond can take on

◆ perm_elements

template<typename T>
const int2* stormm::synthesis::SyPermutorKit< T >::perm_elements

Array identities and array indices of each element in each permutor map. This information directs threads on where to search in rot_bond_settings, ctx_bond_settings, or chiral_settings after reading limits set forth in those arrays' bounds.

◆ perm_map_count

template<typename T>
int stormm::synthesis::SyPermutorKit< T >::perm_map_count

Number of permutation maps (unique topologies in the synthesis)

◆ perm_map_idx

template<typename T>
const int* stormm::synthesis::SyPermutorKit< T >::perm_map_idx

Permutation map indices for every system in the synthesis

◆ prm_ctx_grp_bounds

template<typename T>
const int* stormm::synthesis::SyPermutorKit< T >::prm_ctx_grp_bounds

Bounds array for ctx_grp_bounds–giving the limits of ctx_grp_atoms limits within each permutor map

◆ prm_inv_grp_bounds

template<typename T>
const int* stormm::synthesis::SyPermutorKit< T >::prm_inv_grp_bounds

Bounds array for inv_grp_bounds–giving the limits of inv_grp_atoms limits within each permutor map

◆ prm_rot_grp_bounds

template<typename T>
const int* stormm::synthesis::SyPermutorKit< T >::prm_rot_grp_bounds

Bounds array for rot_grp_bounds–giving the limits of rot_grp_atoms limits within each permutor map

◆ rot_bond_markers

template<typename T>
const int4* stormm::synthesis::SyPermutorKit< T >::rot_bond_markers

Marker atoms for each rotatable bond, used to define the angle about that bond

◆ system_settings

template<typename T>
const int* stormm::synthesis::SyPermutorKit< T >::system_settings

Array of settings indices for all elements of all systems in the synthesis.

◆ system_settings_limits

template<typename T>
const int* stormm::synthesis::SyPermutorKit< T >::system_settings_limits

Array of limits for system_settings–the ith element of system_settings must always fall within the range [ 0, system_settings_limits[i] ).


The documentation for this struct was generated from the following file: