11#ifndef _RD_TORSIONPREFERENCES_H_
12#define _RD_TORSIONPREFERENCES_H_
19#include <boost/dynamic_bitset.hpp>
34 std::vector<double>
V;
69 .kTermImproper = .001,
71 .etTermScaling = 0.05};
76 .kTermImproper = .001,
78 .etTermScaling = 0.05};
83using CosineExp_T = std::pair<std::vector<int>, std::vector<double>>;
84using GaussianExp_T = std::tuple<std::vector<double>, std::vector<double>,
85 std::vector<double>,
double>;
90 std::is_same_v<T, GaussianExpTorsionAngle>;
106 std::variant<const ExpTorsionAngle *, const GaussianExpTorsionAngle *>;
114 std::vector<std::pair<int, int>>
bonds;
130 bool useExpTorsions =
false,
bool useSmallRingTorsions =
false,
131 bool useMacrocycleTorsions =
false,
bool useBasicKnowledge =
false,
132 unsigned int version = 2,
bool verbose =
false);
137 std::vector<std::tuple<
unsigned int, std::vector<unsigned int>,
139 bool useExpTorsions =
false,
bool useSmallRingTorsions =
false,
140 bool useMacrocycleTorsions =
false,
bool useBasicKnowledge =
false,
141 unsigned int version = 2,
bool verbose =
false);
#define RDKIT_FORCEFIELDHELPERS_EXPORT
constexpr Params Gaussian
constexpr Params Gaussian
std::variant< const ExpTorsionAngle *, const GaussianExpTorsionAngle * > TorsionAnglePtrVariant
RDKIT_FORCEFIELDHELPERS_EXPORT void populateRefTable(CrystalFFDetails &details)
RDKIT_FORCEFIELDHELPERS_EXPORT void getExperimentalTorsions(const RDKit::ROMol &mol, CrystalFFDetails &details, bool useExpTorsions=false, bool useSmallRingTorsions=false, bool useMacrocycleTorsions=false, bool useBasicKnowledge=false, unsigned int version=2, bool verbose=false)
Get the experimental torsional angles in a molecule.
std::pair< std::vector< int >, std::vector< double > > CosineExp_T
std::tuple< std::vector< double >, std::vector< double >, std::vector< double >, double > GaussianExp_T
std::variant< CosineExp_T, GaussianExp_T > TorsionParamVariant
std::vector< std::vector< double > > TorsionLookup
std::vector< int > atomNums
TorsionParamKind torsionParamKind
boost::dynamic_bitset constrainedAtoms
std::vector< std::size_t > torsionIdx
ETKDGForceConsts::Params forceConsts
double boundsMatForceScaling
std::vector< RDKit::DGeomHelpers::Path14Configuration > path14Configs
std::vector< TorsionParamVariant > expTorsionAngles
std::vector< std::vector< int > > improperAtoms
std::vector< std::pair< int, int > > bonds
std::unique_ptr< RDKit::DGeomHelpers::InternalCoordinates > internalCoords
std::vector< std::vector< int > > expTorsionAtoms
TorsionLookup phiToEnergy
std::vector< std::vector< int > > angles
A structure used to the experimental torsion patterns.
std::unique_ptr< const RDKit::ROMol > dp_pattern
std::unique_ptr< const RDKit::ROMol > dp_pattern
std::vector< double > widths
std::vector< double > heights
std::vector< double > positions