1 #ifndef __JMATH__JGAUSS__
2 #define __JMATH__JGAUSS__
20 namespace JPP {
using namespace JMATH; }
30 public JMath<JGauss_t>,
71 const double eps = std::numeric_limits<double>::min())
const
210 const double signal = 1.0,
264 const double w = 1.0 /
sigma;
265 const double u = (
x -
mean) *
w;
266 const double f0 = get(
u);
267 const double fs =
signal * f0;
269 gradient.mean = fs * (
u) *
w;
270 gradient.sigma = fs * (
u + 1.0) * (
u - 1.0) *
w;
271 gradient.signal = f0;
272 gradient.background = 1.0;
284 inline double get(
const double u)
const
286 return exp(-0.5*
u*
u) / (sqrt(2.0*
PI) *
sigma);
Base class for data structures with artithmetic capabilities.
double getValue(const JScale_t scale)
Get numerical value corresponding to scale.
Auxiliary classes and methods for mathematical operations.
static const double PI
Mathematical constants.
double gauss(const double x, const double sigma)
Gauss function (normalised to 1 at x = 0).
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary data structure for floating point format specification.
Template definition of auxiliary base class for comparison of data structures.
JGauss_t & sub(const JGauss_t &gauss)
Subtract gauss.
JGauss_t & mul(const double factor)
Scale gauss.
JGauss_t(const double mean, const double sigma, const double signal, const double background)
Constructor.
bool equals(const JGauss_t &gauss, const double eps=std::numeric_limits< double >::min()) const
Equality.
JGauss_t()
Default constructor.
friend std::ostream & operator<<(std::ostream &out, const JGauss_t &gauss)
Write Gauss to output stream.
JGauss_t & add(const JGauss_t &gauss)
Add gauss.
friend std::istream & operator>>(std::istream &in, JGauss_t &gauss)
Write Gauss to input stream.
JGauss(const JGauss_t &gauss)
Copy constructor.
double operator()(const double x) const
Function value.
const JGauss_t & getGradient(const double x) const
Get gradient.
double getDerivative(const double x) const
Derivative value.
JGauss()
Default constructor.
double getValue(const double x) const
Function value.
JGauss(const double mean, const double sigma, const double signal=1.0, const double background=0.0)
Constructor.
double JGauss::* parameter_type
Type definition of fit parameter.
double get(const double u) const
Get ordinate value.
Auxiliary base class for aritmetic operations of derived class types.