13 #ifndef __RD_MMFFTORSIONCONSTRAINT_H__
14 #define __RD_MMFFTORSIONCONSTRAINT_H__
40 unsigned int idx2,
unsigned int idx3,
41 unsigned int idx4,
double minDihedralDeg,
42 double maxDihedralDeg,
double forceConst);
44 unsigned int idx2,
unsigned int idx3,
45 unsigned int idx4,
bool relative,
46 double minDihedralDeg,
double maxDihedralDeg,
52 void getGrad(
double *pos,
double *grad)
const;
58 void setParameters(
ForceField *owner,
unsigned int idx1,
59 unsigned int idx2,
unsigned int idx3,
unsigned int idx4,
60 double minDihedralDeg,
double maxDihedralDeg,
double forceConst);
61 double computeDihedralTerm(
double dihedral)
const;
62 int d_at1Idx{-1}, d_at2Idx{-1}, d_at3Idx{-1},
64 double d_minDihedralDeg,
66 double d_forceConstant;
abstract base class for contributions to ForceFields
A class to store forcefields and handle minimization.
A dihedral angle range constraint modelled after a TorsionContrib.
~TorsionConstraintContrib()
TorsionConstraintContrib(ForceField *owner, unsigned int idx1, unsigned int idx2, unsigned int idx3, unsigned int idx4, double minDihedralDeg, double maxDihedralDeg, double forceConst)
Constructor.
virtual TorsionConstraintContrib * copy() const
return a copy
void getGrad(double *pos, double *grad) const
calculates our contribution to the gradients of a position
double getEnergy(double *pos) const
returns our contribution to the energy of a position
TorsionConstraintContrib()
TorsionConstraintContrib(ForceField *owner, unsigned int idx1, unsigned int idx2, unsigned int idx3, unsigned int idx4, bool relative, double minDihedralDeg, double maxDihedralDeg, double forceConst)
#define RDKIT_FORCEFIELD_EXPORT