IMP Reference Guide  2.7.0 The Integrative Modeling Platform
IMP::atom::ForceSwitch Class Reference

Smooth interaction scores by switching the derivatives (force switch). More...

#include <IMP/atom/smoothing_functions.h>

Inheritance diagram for IMP::atom::ForceSwitch:

## Detailed Description

Smooth interaction scores by switching the derivatives (force switch).

This function leaves the scores unaffected for distances below or equal to min_distance, returns zero for distances above max_distance, and between the two thresholds smoothes the score such that its first derivatives drop linearly, i.e. the score is simply multiplied by

$\begin{cases} 1 & d \leq d_{min} \ \frac{(d_{max} - d)^2 (d_{max} + 2d - 3d_{min})} {(d_{max} - d_{min})^3} & d_{min} < d \leq d_{max} \ 0 & d > d_{max} \end{cases}$

where $$d$$ is the distance, and $$d_{min}$$ and $$d_{max}$$ are the thresholds set in the ForceSwitch constructor.

This behavior is roughly equivalent to CHARMM's force switch nonbonded interaction smoothing (which is also the smoothing mechanism used by MODELLER).

CoulombPairScore

Definition at line 72 of file smoothing_functions.h.

## Public Member Functions

ForceSwitch (double min_distance, double max_distance)

virtual std::string get_type_name () const

virtual ::IMP::VersionInfo get_version_info () const
Get information about the module and version of the object. More...

double operator() (double score, double distance) const
Smooth the score at a given distance. More...

DerivativePair operator() (double score, double deriv, double distance) const
Smooth the score and its first derivative at a given distance. More...

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)

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

virtual void do_destroy ()

## Member Function Documentation

 virtual ::IMP::VersionInfo IMP::atom::ForceSwitch::get_version_info ( ) const
virtual

Get information about the module and version of the object.

Reimplemented from IMP::Object.

Definition at line 119 of file smoothing_functions.h.

 double IMP::atom::ForceSwitch::operator() ( double score, double distance ) const
virtual

Smooth the score at a given distance.

Returns
the smoothed score.

Implements IMP::atom::SmoothingFunction.

Definition at line 107 of file smoothing_functions.h.

 DerivativePair IMP::atom::ForceSwitch::operator() ( double score, double deriv, double distance ) const
virtual

Smooth the score and its first derivative at a given distance.

Returns
a DerivativePair containing the smoothed score and its first derivative.

Implements IMP::atom::SmoothingFunction.

Definition at line 112 of file smoothing_functions.h.

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