IMP logo
IMP Reference Guide  develop.63b38c487d,2024/12/21
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:

Detailed Description

Harmonic function (symmetric about the mean)

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 27 of file core/Harmonic.h.

Public Member Functions

 Harmonic (Float mean, Float k)
 
virtual double evaluate (double feature) const override
 Calculate score with respect to the given feature. More...
 
virtual DerivativePair evaluate_with_derivative (double feature) const override
 Calculate score and derivative with respect to the given feature. More...
 
Float get_k () const
 Return the spring constant. More...
 
Float get_mean () const
 Return the mean of this function. More...
 
virtual std::string get_type_name () const override
 
virtual ::IMP::VersionInfo get_version_info () const override
 Get information about the module and version of the object. More...
 
void set_k (Float k)
 Set the spring constant. More...
 
void set_mean (Float mean)
 Set the mean of this function. More...
 
- Public Member Functions inherited from IMP::UnaryFunction
 UnaryFunction (std::string name="UnaryFunction%1%")
 
- Public Member Functions inherited from IMP::Object
virtual void clear_caches ()
 
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::Object
 Object (std::string name)
 Construct an object with the given name. More...
 
virtual void do_destroy ()
 

Constructor & Destructor Documentation

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

Create with the given mean and the spring constant k

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

Member Function Documentation

virtual double IMP::core::Harmonic::evaluate ( double  feature) const
overridevirtual

Calculate score with respect to the given feature.

Parameters
[in]featureValue of feature being tested.
Returns
Score

Reimplemented from IMP::UnaryFunction.

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

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

virtual DerivativePair IMP::core::Harmonic::evaluate_with_derivative ( double  feature) const
overridevirtual

Calculate score and derivative with respect to the given feature.

Parameters
[in]featureValue of feature being tested.
Returns
a DerivativePair containing the score and its partial derivative with respect to the given feature.

Reimplemented from IMP::UnaryFunction.

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

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

Float IMP::core::Harmonic::get_k ( ) const

Return the spring constant.

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

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

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.

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

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

Float IMP::core::Harmonic::get_mean ( ) const

Return the mean of this function.

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

virtual ::IMP::VersionInfo IMP::core::Harmonic::get_version_info ( ) const
overridevirtual

Get information about the module and version of the object.

Reimplemented from IMP::Object.

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

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

void IMP::core::Harmonic::set_k ( Float  k)

Set the spring constant.

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

void IMP::core::Harmonic::set_mean ( Float  mean)

Set the mean of this function.

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


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