12 #ifndef RD_TORSIONANGLEM6_H 13 #define RD_TORSIONANGLEM6_H 16 #include <boost/tuple/tuple.hpp> 35 : d_at1Idx(-1), d_at2Idx(-1), d_at3Idx(-1), d_at4Idx(-1){};
51 unsigned int idx2,
unsigned int idx3,
unsigned int idx4,
52 const std::vector<double> &V,
53 const std::vector<int> &signs);
54 double getEnergy(
double *pos)
const;
55 void getGrad(
double *pos,
double *grad)
const;
61 int d_at1Idx, d_at2Idx, d_at3Idx, d_at4Idx;
62 std::vector<double> d_V;
63 std::vector<int> d_sign;
68 const std::vector<int> &signs,
const double cosPhi);
double calcTorsionEnergyM6(const std::vector< double > &V, const std::vector< int > &signs, const double cosPhi)
calculates and returns the torsional energy
abstract base class for contributions to ForceFields
the torsion term for multiplicity m = 1 - 6
virtual TorsionAngleContribM6 * copy() const
return a copy
A class to store forcefields and handle minimization.