IMP  2.2.1
The Integrative Modeling Platform
IMP::core::Harmonic Class Reference

Harmonic function (symmetric about the mean) More...

#include <IMP/core/Harmonic.h>

+ Inheritance diagram for IMP::core::Harmonic:

Public Member Functions

 Harmonic (Float mean, Float k)
 
virtual double evaluate (double feature) const
 Calculate score with respect to the given feature. More...
 
virtual DerivativePair evaluate_with_derivative (double feature) const
 Calculate score and derivative with respect to the given feature. More...
 
Float get_k () const
 
Float get_mean () const
 
virtual std::string get_type_name () const
 
virtual ::IMP::base::VersionInfo get_version_info () const
 Get information about the module and version of the object.
 
void set_k (Float k)
 Set the spring constant.
 
void set_mean (Float mean)
 Set the mean of this function.
 
- Public Member Functions inherited from IMP::kernel::UnaryFunction
 UnaryFunction (std::string name="UnaryFunction%1%")
 
- Public Member Functions inherited from IMP::base::Object
virtual void clear_caches ()
 
virtual void do_destroy ()
 
CheckLevel get_check_level () const
 
LogLevel get_log_level () const
 
void set_check_level (CheckLevel l)
 
void set_log_level (LogLevel l)
 Set the logging level used in this object. More...
 
void set_was_used (bool tf) const
 
void show (std::ostream &out=std::cout) const
 
const std::string & get_name () const
 
void set_name (std::string name)
 

Static Public Member Functions

static Float get_k_from_standard_deviation (Float sd, Float t=297.15)
 Return the k to use for a given Gaussian standard deviation. More...
 

Additional Inherited Members

- Protected Member Functions inherited from IMP::base::Object
 Object (std::string name)
 Construct an object with the given name. More...
 

Detailed Description

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.

See Also
TruncatedHarmonic
HarmonicUpperBound
HarmonicLowerBound

Definition at line 24 of file core/Harmonic.h.

Constructor & Destructor Documentation

IMP::core::Harmonic::Harmonic ( Float  mean,
Float  k 
)

Create with the given mean and the spring constant k

Definition at line 27 of file core/Harmonic.h.

Member Function Documentation

virtual double IMP::core::Harmonic::evaluate ( double  feature) const
virtual
Parameters
[in]featureValue of feature being tested.
Returns
Score

Reimplemented from IMP::kernel::UnaryFunction.

Reimplemented in IMP::core::HarmonicLowerBound, and IMP::core::HarmonicUpperBound.

Definition at line 34 of file core/Harmonic.h.

virtual DerivativePair IMP::core::Harmonic::evaluate_with_derivative ( double  feature) const
virtual
Parameters
[in]featureValue of feature being tested.
Returns
a FloatPair containing the score and its partial derivative with respect to the given feaure.

Reimplemented from IMP::kernel::UnaryFunction.

Reimplemented in IMP::core::HarmonicLowerBound, and IMP::core::HarmonicUpperBound.

Definition at line 29 of file core/Harmonic.h.

Float IMP::core::Harmonic::get_k ( ) const
Returns
the spring constant

Definition at line 44 of file core/Harmonic.h.

static Float IMP::core::Harmonic::get_k_from_standard_deviation ( Float  sd,
Float  t = 297.15 
)
static

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.

Parameters
[in]sdGaussian standard deviation, in angstroms
[in]tSystem temperature, in Kelvin
Returns
Force constant

Definition at line 62 of file core/Harmonic.h.

Float IMP::core::Harmonic::get_mean ( ) const
Returns
the mean of this function

Definition at line 41 of file core/Harmonic.h.


The documentation for this class was generated from the following file: