55 |
|
|
56 |
|
#include "types/TorsionType.hpp" |
57 |
|
#include "types/PolynomialTorsionType.hpp" |
58 |
+ |
|
59 |
|
namespace oopse { |
60 |
|
|
61 |
|
struct CharmmTorsionParameter { |
67 |
|
class LessThanPeriodicityFunctor { |
68 |
|
public: |
69 |
|
bool operator()(const CharmmTorsionParameter& p1, |
70 |
< |
const CharmmTorsionParameter& p2) { |
70 |
> |
const CharmmTorsionParameter& p2) { |
71 |
|
return p1.n < p2.n; |
72 |
|
} |
73 |
|
}; |
75 |
|
/** |
76 |
|
* @class CharmmTorsionType CharmmTorsionType.hpp "types/CharmmTorsionType.hpp" |
77 |
|
*/ |
78 |
< |
class CharmmTorsionType : public TorsionType{ |
78 |
> |
class CharmmTorsionType : public PolynomialTorsionType { |
79 |
|
public: |
80 |
< |
CharmmTorsionType(std::vector<CharmmTorsionParameter>& parameters); |
80 |
< |
|
81 |
< |
virtual void calcForce(RealType cosPhi, RealType& V, RealType& dVdCosPhi){ |
82 |
< |
torsionType_->calcForce(cosPhi, V, dVdCosPhi); |
83 |
< |
} |
84 |
< |
|
85 |
< |
private: |
86 |
< |
PolynomialTorsionType* torsionType_; |
80 |
> |
CharmmTorsionType(std::vector<CharmmTorsionParameter>& parameters); |
81 |
|
}; |
82 |
|
|
83 |
|
} //end namespace oopse |