Jpp 21.0.0-rc.3
the software that should make you happy
Loading...
Searching...
No Matches
JMATH::JGauss_t Struct Reference

Gauss model. More...

#include <JGauss.hh>

Inheritance diagram for JMATH::JGauss_t:
JMATH::JMath< JGauss_t > JLANG::JEquals< JFirst_t, JSecond_t > JMATH::JGauss< ID_t, false > JMATH::JBell JMATH::JGauss< ID_t, normalised > JMATH::JGauss2D< ID_t, normalise > JMATH::JGauss3D< ID_t, normalise >

Public Member Functions

 JGauss_t ()
 Default constructor.
 
 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_tadd (const JGauss_t &gauss)
 Add gauss.
 
JGauss_tsub (const JGauss_t &gauss)
 Subtract gauss.
 
JGauss_tmul (const double factor)
 Scale gauss.
 
JGauss_tmul (const JSecond_t &object)
 Multiply with object.
 

Public Attributes

double mean
 
double sigma
 
double signal
 
double background
 

Friends

std::istream & operator>> (std::istream &in, JGauss_t &gauss)
 Write Gauss to input stream.
 
std::ostream & operator<< (std::ostream &out, const JGauss_t &gauss)
 Write Gauss to output stream.
 

Detailed Description

Gauss model.

Definition at line 30 of file JGauss.hh.

Constructor & Destructor Documentation

◆ JGauss_t() [1/2]

JMATH::JGauss_t::JGauss_t ( )
inline

Default constructor.

Definition at line 37 of file JGauss.hh.

37 :
38 mean (0.0),
39 sigma (0.0),
40 signal (0.0),
41 background(0.0)
42 {}
double background
Definition JGauss.hh:167
double signal
Definition JGauss.hh:166

◆ JGauss_t() [2/2]

JMATH::JGauss_t::JGauss_t ( const double mean,
const double sigma,
const double signal,
const double background )
inline

Constructor.

Note that an error will be thrown for a sigma smaller or equal to zero.

Parameters
meanmean
sigmasigma
signalsignal
backgroundbackground

Definition at line 55 of file JGauss.hh.

58 :
59 mean (mean),
60 sigma (sigma),
61 signal (signal),
63 {}

Member Function Documentation

◆ equals()

bool JMATH::JGauss_t::equals ( const JGauss_t & gauss,
const double eps = std::numeric_limits<double>::min() ) const
inline

Equality.

Parameters
gaussgauss
epsnumerical precision
Returns
true if gauss's identical; else false

Definition at line 73 of file JGauss.hh.

75 {
76 return (fabs(mean - gauss.mean) <= eps &&
77 fabs(sigma - gauss.sigma) <= eps &&
78 fabs(signal - gauss.signal) <= eps &&
79 fabs(background - gauss.background) <= eps);
80 }
double gauss(const double x, const double sigma)
Gauss function (normalised to 1 at x = 0).

◆ add()

JGauss_t & JMATH::JGauss_t::add ( const JGauss_t & gauss)
inline

Add gauss.

Parameters
gaussgauss
Returns
this gauss

Definition at line 89 of file JGauss.hh.

90 {
91 mean += gauss.mean;
92 sigma += gauss.sigma;
93 signal += gauss.signal;
94 background += gauss.background;
95
96 return *this;
97 }

◆ sub()

JGauss_t & JMATH::JGauss_t::sub ( const JGauss_t & gauss)
inline

Subtract gauss.

Parameters
gaussgauss
Returns
this gauss

Definition at line 106 of file JGauss.hh.

107 {
108 mean -= gauss.mean;
109 sigma -= gauss.sigma;
110 signal -= gauss.signal;
111 background -= gauss.background;
112
113 return *this;
114 }

◆ mul() [1/2]

JGauss_t & JMATH::JGauss_t::mul ( const double factor)
inline

Scale gauss.

Parameters
factormultiplication factor
Returns
this gauss

Definition at line 123 of file JGauss.hh.

124 {
125 mean *= factor;
126 sigma *= factor;
127 signal *= factor;
128 background *= factor;
129
130 return *this;
131 }

◆ mul() [2/2]

JGauss_t & JMATH::JMath< JGauss_t, JSecond_t >::mul ( const JSecond_t & object)
inlineinherited

Multiply with object.

Parameters
objectobject
Returns
result object

Definition at line 354 of file JMath.hh.

355 {
356 return static_cast<JFirst_t&>(*this) = JFirst_t().mul(static_cast<const JFirst_t&>(*this), object);
357 }

Friends And Related Symbol Documentation

◆ operator>>

std::istream & operator>> ( std::istream & in,
JGauss_t & gauss )
friend

Write Gauss to input stream.

Parameters
ininput stream
gaussgauss
Returns
input stream

Definition at line 141 of file JGauss.hh.

142 {
143 return in >> gauss.mean >> gauss.sigma >> gauss.signal >> gauss.background;
144 }

◆ operator<<

std::ostream & operator<< ( std::ostream & out,
const JGauss_t & gauss )
friend

Write Gauss to output stream.

Parameters
outoutput stream
gaussgauss
Returns
output stream

Definition at line 154 of file JGauss.hh.

155 {
156 using namespace std;
157
158 return out << FIXED(7,3) << gauss.mean << ' '
159 << FIXED(7,3) << gauss.sigma << ' '
160 << FIXED(9,3) << gauss.signal << ' '
161 << FIXED(9,3) << gauss.background;
162 }
Auxiliary data structure for floating point format specification.
Definition JManip.hh:448

Member Data Documentation

◆ mean

double JMATH::JGauss_t::mean

Definition at line 164 of file JGauss.hh.

◆ sigma

double JMATH::JGauss_t::sigma

Definition at line 165 of file JGauss.hh.

◆ signal

double JMATH::JGauss_t::signal

Definition at line 166 of file JGauss.hh.

◆ background

double JMATH::JGauss_t::background

Definition at line 167 of file JGauss.hh.


The documentation for this struct was generated from the following file: