IMP logo
Public Member Functions
IMP::atom::SmoothingFunction Class Reference

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).

+ Inheritance diagram for IMP::atom::SmoothingFunction:

List of all members.

Public Member Functions

virtual double operator() (double score, double distance) const =0
 Smooth the score at a given distance.
virtual DerivativePair operator() (double score, double deriv, double distance) const =0
 Smooth the score and its first derivative at a given distance.
- Public Member Functions inherited from IMP::base::Object
std::size_t __hash__ () const
virtual std::string get_type_name () const =0
 Return a string identifying the type of the object.
virtual IMP::base::VersionInfo get_version_info () const =0
 Get information about the module and version of the object.
void set_check_level (CheckLevel l)
void set_log_level (LogLevel l)
 Set the logging level used in this object.
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)

Additional Inherited Members

- Protected Member Functions inherited from IMP::base::Object
 Object (std::string name)

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:

Generated on Tue May 22 2012 23:33:27 for IMP by doxygen 1.8.1