STORMM Source Documentation
|
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>
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 int2 * | perm_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 int4 * | rot_bond_markers |
const int4 * | ctx_bond_markers |
const int4 * | chiral_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. | |
Read-only abstract for the SynthesisPermutor. Access to all of the atom groups, critical measurements, and settings for mutable components is contained herein.
const int* stormm::synthesis::SyPermutorKit< T >::chiral_atoms |
Concatenated lists of chiral atoms in all systems, also bounded by prm_inv_grp_bounds
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.
const int* stormm::synthesis::SyPermutorKit< T >::chiral_protocols |
Protocols for inverting each chiral center in each system, also bounded by prm_inv_grp_bounds
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
const T* stormm::synthesis::SyPermutorKit< T >::ctx_bond_settings |
Specific values that each cis-trans isomeric bond can take on
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.
int stormm::synthesis::SyPermutorKit< T >::perm_map_count |
Number of permutation maps (unique topologies in the synthesis)
const int* stormm::synthesis::SyPermutorKit< T >::perm_map_idx |
Permutation map indices for every system in the synthesis
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
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
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
const int4* stormm::synthesis::SyPermutorKit< T >::rot_bond_markers |
Marker atoms for each rotatable bond, used to define the angle about that bond
const int* stormm::synthesis::SyPermutorKit< T >::system_settings |
Array of settings indices for all elements of all systems in the synthesis.
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] ).