12 #ifndef __RD_UFFINVERSION_H__ 13 #define __RD_UFFINVERSION_H__ 15 #include <boost/tuple/tuple.hpp> 39 unsigned int idx3,
unsigned int idx4,
int at2AtomicNum,
40 bool isCBoundToO,
double oobForceScalingFactor = 1.0);
44 void getGrad(
double *pos,
double *grad)
const;
50 int d_at1Idx, d_at2Idx, d_at3Idx, d_at4Idx;
51 double d_forceConstant, d_C0, d_C1, d_C2;
72 boost::tuple<double, double, double, double>
boost::tuple< double, double, double, double > calcInversionCoefficientsAndForceConstant(int at2AtomicNum, bool isCBoundToO)
calculates and returns the UFF force constant for an improper torsion
void getGrad(double *pos, double *grad) const
calculates our contribution to the gradients of a position
The inversion term for the Universal Force Field.
abstract base class for contributions to ForceFields
double getEnergy(double *pos) const
returns our contribution to the energy of a position
double calculateCosY(const RDGeom::Point3D &iPoint, const RDGeom::Point3D &jPoint, const RDGeom::Point3D &kPoint, const RDGeom::Point3D &lPoint)
virtual InversionContrib * copy() const
return a copy
A class to store forcefields and handle minimization.