13 #ifndef __RD_MMFFTORSIONANGLE_H__ 14 #define __RD_MMFFTORSIONANGLE_H__ 17 #include <boost/tuple/tuple.hpp> 31 : d_at1Idx(-1), d_at2Idx(-1), d_at3Idx(-1), d_at4Idx(-1){};
46 unsigned int idx3,
unsigned int idx4,
48 double getEnergy(
double *pos)
const;
49 void getGrad(
double *pos,
double *grad)
const;
55 int d_at1Idx, d_at2Idx, d_at3Idx, d_at4Idx;
56 double d_V1, d_V2, d_V3;
72 double **g,
double &sinTerm,
double &cosPhi);
abstract base class for contributions to ForceFields
RDKIT_FORCEFIELD_EXPORT double calcTorsionCosPhi(const RDGeom::Point3D &iPoint, const RDGeom::Point3D &jPoint, const RDGeom::Point3D &kPoint, const RDGeom::Point3D &lPoint)
calculates and returns the cosine of a torsion angle
#define RDKIT_FORCEFIELD_EXPORT
the torsion term for MMFF
RDKIT_FORCEFIELD_EXPORT double calcTorsionEnergy(const double V1, const double V2, const double V3, const double cosPhi)
calculates and returns the torsional MMFF energy
RDKIT_FORCEFIELD_EXPORT boost::tuple< double, double, double > calcTorsionForceConstant(const MMFFTor *mmffTorParams)
returns the 3-tuple of a torsion angle force constants
RDKIT_FORCEFIELD_EXPORT void calcTorsionGrad(RDGeom::Point3D *r, RDGeom::Point3D *t, double *d, double **g, double &sinTerm, double &cosPhi)
virtual TorsionAngleContrib * copy() const
return a copy
class to store MMFF parameters for torsions
A class to store forcefields and handle minimization.