This is a simple score modeling an harmonic oscillator. The score is 0.5 * k * x * x, where k is the 'force constant' and x is the distance from the mean.

Public Member Functions | |
| virtual double | evaluate (double feature) const |
| virtual DerivativePair | evaluate_with_derivative (double feature) const |
| Float | get_k () const |
| Float | get_mean () const |
| virtual std::string | get_type_name () const |
| virtual ::IMP::VersionInfo | get_version_info () const |
| Harmonic (Float mean, Float k) | |
| void | set_k (Float k) |
| Set the spring constant. | |
| void | set_mean (Float mean) |
| Set the mean of this function. | |
Static Public Member Functions | |
| static Float | k_from_standard_deviation (Float sd, Float t=297.15) |
| Return the k to use for a given Gaussian standard deviation. | |
Create with the given mean and the spring constant k
| Float IMP::core::Harmonic::get_k | ( | ) | const |
| Float IMP::core::Harmonic::get_mean | ( | ) | const |
Return the k to use for a given Gaussian standard deviation.
Given the standard deviation of a Gaussian distribution, get the force constant of the harmonic score function that yields that same distribution. For temperature in Kelvin, this assumes the score function is energy in kcal/mol, and thus returns a force constant in kcal/mol/A/A.
| [in] | sd | Gaussian standard deviation, in angstroms |
| [in] | t | System temperature, in Kelvin |