A function that is harmonic over an interval.
This function is harmonic between center and threshold and then asymptotically converges to the limit value.
The function form above the threshold is currently limit-b/(x-o) where x is the offset from the center and b,o are constants chosen to make the function smooth and continuous. This form may change without notice unless someone tells us it is important that it does not.
| [in] | DIRECTION | Whether to be an upper bound, lower bound, or both directions. It should be one of the BoundDirection enum values. If it is LOWER, than the function is 0 for all values above the passed center. |
Inheritance diagram for IMP::core::TruncatedHarmonic< DIRECTION >:Public Member Functions | |
| TruncatedHarmonic (Float center, Float k, Float threshold, Float limit) | |
| TruncatedHarmonic (Float center, Float k, Float threshold) | |
Public Member Functions inherited from IMP::UnaryFunction | |
| virtual double | evaluate (double feature) const |
| Calculate score with respect to the given feature. | |
| virtual DerivativePair | evaluate_with_derivative (double feature) const |
| Calculate score and derivative with respect to the given feature. | |
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) |
Static Public Member Functions | |
| static TruncatedHarmonic * | get_from (IMP::base::Object *o) |
| IMP::core::TruncatedHarmonic< DIRECTION >::TruncatedHarmonic | ( | Float | center, |
| Float | k, | ||
| Float | threshold, | ||
| Float | limit | ||
| ) |
| [in] | center | The center point for the harmonic. |
| [in] | k | The spring constant for the harmonic. |
| [in] | threshold | How far the harmonic term extends from the center. |
| [in] | limit | The value to which the function converges above the threshold. |
| IMP::core::TruncatedHarmonic< DIRECTION >::TruncatedHarmonic | ( | Float | center, |
| Float | k, | ||
| Float | threshold | ||
| ) |
Set limit to a reasonable value.