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