IMP Reference Guide  2.7.0 The Integrative Modeling Platform
IMP::atom::SmoothingFunction Class Referenceabstract

Base class for smoothing nonbonded interactions as a function of distance. More...

#include <IMP/atom/smoothing_functions.h>

Inheritance diagram for IMP::atom::SmoothingFunction:

## Detailed Description

Base class for smoothing nonbonded interactions as a function of distance.

The class is given the score (and optionally its first derivative) at a given distance and returns a smoothed form of the score. Smoothing functions are used to avoid a discontinuity in the scoring function and/or its derivatives at the cutoff distance (the distance threshold used by IMP::core::ClosePairsFinder), as this can lead to nonphysical motions of the system. They are used by physical scoring functions that drop off slowly with distance, such as CoulombPairScore, in combination with a ClosePairsFinder.

Smoothing functions usually offset the score by a constant value (a shift function) or smooth it from its normal value to zero over a defined range (a switch function, such as ForceSwitch).

Definition at line 33 of file smoothing_functions.h.

## Public Member Functions

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

virtual DerivativePair operator() (double score, double deriv, double distance) const =0
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

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

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)

virtual std::string get_type_name () const

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 double IMP::atom::SmoothingFunction::operator() ( double score, double distance ) const
pure virtual

Smooth the score at a given distance.

Returns
the smoothed score.

Implemented in IMP::atom::ForceSwitch.

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

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

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

Implemented in IMP::atom::ForceSwitch.

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