25 |
|
|
26 |
|
/** |
27 |
|
* @file PolynomialTorsionType.hpp |
28 |
< |
* @author teng lin |
28 |
> |
* @author teng lin |
29 |
|
* @date 11/16/2004 |
30 |
|
* @version 1.0 |
31 |
|
*/ |
33 |
|
#ifndef TYPES_POLYNOMIALBONDTYPE_HPP |
34 |
|
#define TYPES_POLYNOMIALBONDTYPE_HPP |
35 |
|
|
36 |
– |
namespace oopse { |
37 |
– |
|
36 |
|
#include "math/Polynomial.hpp" |
37 |
|
#include "types/TorsionType.hpp" |
38 |
+ |
|
39 |
+ |
namespace oopse { |
40 |
+ |
|
41 |
|
/** |
42 |
|
* @class PolynomialTorsionType PolynomialTorsionType.hpp "types/PolynomialTorsionType.hpp" |
43 |
|
* @todo documentation |
46 |
|
|
47 |
|
public: |
48 |
|
PolynomialTorsionType() {} |
49 |
< |
PolynomialTorsionType(double r0, const std::vector<int>& power, |
50 |
< |
const std::vector<double>& coeff) : BondType(r0){ |
49 |
> |
|
50 |
> |
double getCoefficient(int power) { |
51 |
> |
return polynomial_.getCoefficient(power); |
52 |
|
} |
53 |
|
|
54 |
+ |
void addCoefficient(int power, double coefficient) { |
55 |
+ |
polynomial_.addCoefficient(power, coefficient); |
56 |
+ |
} |
57 |
+ |
|
58 |
|
void setCoefficient(int power, double coefficient) { |
59 |
|
polynomial_.setCoefficient(power, coefficient); |
60 |
|
} |
61 |
|
|
62 |
< |
double getCoefficient(int power) { |
63 |
< |
return polynomial_.getCoefficient(power); |
62 |
> |
void setPolynomial(const DoublePolynomial& p) { |
63 |
> |
polynomial_ = p; |
64 |
|
} |
65 |
|
|
66 |
|
virtual void calcForce(double cosPhi, double sinPhi, double& V, double& dVdPhi) { |