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 |