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
where is the distance, and and 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).
Public Member Functions | |
ForceSwitch (double min_distance, double max_distance) | |
virtual std::string | get_type_name () const |
virtual ::IMP::VersionInfo | get_version_info () const |
DerivativePair | operator() (double score, double deriv, double distance) const |
double | operator() (double score, double distance) const |
Friends | |
template<class T > | |
void | IMP::internal::unref (T *) |