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