11#ifndef RD_MMFFTORSIONANGLE_H
12#define RD_MMFFTORSIONANGLE_H
43 unsigned int idx3,
unsigned int idx4,
46 void getGrad(
double *pos,
double *grad)
const override;
52 int d_at1Idx{-1}, d_at2Idx{-1}, d_at3Idx{-1}, d_at4Idx{-1};
53 double d_V1, d_V2, d_V3;
64calcTorsionForceConstant(
const MMFFTor *mmffTorParams);
72 double **g,
double &sinTerm,
abstract base class for contributions to ForceFields
A class to store forcefields and handle minimization.
class to store MMFF parameters for torsions
the torsion term for MMFF
void getGrad(double *pos, double *grad) const override
calculates our contribution to the gradients of a position
double getEnergy(double *pos) const override
returns our contribution to the energy of a position
TorsionAngleContrib * copy() const override
return a copy
TorsionAngleContrib(ForceField *owner, unsigned int idx1, unsigned int idx2, unsigned int idx3, unsigned int idx4, const MMFFTor *mmffTorParams)
Constructor.
#define RDKIT_FORCEFIELD_EXPORT
RDKIT_FORCEFIELDHELPERS_EXPORT double calcTorsionEnergy(const std::vector< double > &forceConstants, const std::vector< int > &signs, const double cosPhi)