7 #ifndef IMPSPB_GAUSSIAN_H
8 #define IMPSPB_GAUSSIAN_H
12 #include <IMP/spb/spb_config.h>
14 IMPSPB_BEGIN_NAMESPACE
24 : Emin_(Emin), Zmin_(Zmin), sigma_(sigma){};
39 -Emin_ * exp(-(feature - Zmin_) * (feature - Zmin_) /
40 sigma_ / sigma_ / 2.0) *
41 (feature - Zmin_) / sigma_ / sigma_);
44 virtual double evaluate(
double feature)
const override {
46 exp(-(feature - Zmin_) * (feature - Zmin_) / sigma_ / sigma_ / 2.0);
Gaussian(Float Emin, Float Zmin, Float sigma)
virtual DerivativePair evaluate_with_derivative(double feature) const override
Calculate score and derivative with respect to the given feature.
virtual double evaluate(double feature) const override
Calculate score with respect to the given feature.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Single variable function.
Gaussian function (symmetric about the mean)
For backwards compatibility.
std::pair< double, double > DerivativePair
A pair representing a function value with its first derivative.
double Float
Basic floating-point value (could be float, double...)
Abstract single variable functor class for score functions.