13#ifndef RD_TORSIONCONSTRAINT_H
14#define RD_TORSIONCONSTRAINT_H
37 unsigned int idx2,
unsigned int idx3,
38 unsigned int idx4,
double minDihedralDeg,
39 double maxDihedralDeg,
double forceConst);
41 unsigned int idx2,
unsigned int idx3,
42 unsigned int idx4,
bool relative,
43 double minDihedralDeg,
double maxDihedralDeg,
49 void getGrad(
double *pos,
double *grad)
const override;
55 void setParameters(
ForceField *owner,
unsigned int idx1,
unsigned int idx2,
56 unsigned int idx3,
unsigned int idx4,
57 double minDihedralDeg,
double maxDihedralDeg,
59 double computeDihedralTerm(
double dihedral)
const;
60 int d_at1Idx{-1}, d_at2Idx{-1}, d_at3Idx{-1},
62 double d_minDihedralDeg,
64 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() override=default
TorsionConstraintContrib(ForceField *owner, unsigned int idx1, unsigned int idx2, unsigned int idx3, unsigned int idx4, double minDihedralDeg, double maxDihedralDeg, double forceConst)
Constructor.
TorsionConstraintContrib()
void getGrad(double *pos, double *grad) const override
calculates our contribution to the gradients of a position
TorsionConstraintContrib(ForceField *owner, unsigned int idx1, unsigned int idx2, unsigned int idx3, unsigned int idx4, bool relative, double minDihedralDeg, double maxDihedralDeg, double forceConst)
double getEnergy(double *pos) const override
returns our contribution to the energy of a position
TorsionConstraintContrib * copy() const override
return a copy
#define RDKIT_FORCEFIELD_EXPORT