Jpp 19.3.0-rc.1
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::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 29 of file JGauss.hh.

Constructor & Destructor Documentation

◆ JGauss_t() [1/2]

JMATH::JGauss_t::JGauss_t ( )
inline

Default constructor.

Definition at line 36 of file JGauss.hh.

36 :
37 mean (0.0),
38 sigma (0.0),
39 signal (0.0),
40 background(0.0)
41 {}
double background
Definition JGauss.hh:164
double signal
Definition JGauss.hh:163

◆ JGauss_t() [2/2]

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

Constructor.

Parameters
meanmean
sigmasigma
signalsignal
backgroundbackground

Definition at line 52 of file JGauss.hh.

55 :
56 mean (mean),
57 sigma (sigma),
58 signal (signal),
60 {}

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 70 of file JGauss.hh.

72 {
73 return (fabs(mean - gauss.mean) <= eps &&
74 fabs(sigma - gauss.sigma) <= eps &&
75 fabs(signal - gauss.signal) <= eps &&
76 fabs(background - gauss.background) <= eps);
77 }
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 86 of file JGauss.hh.

87 {
88 mean += gauss.mean;
89 sigma += gauss.sigma;
90 signal += gauss.signal;
91 background += gauss.background;
92
93 return *this;
94 }

◆ sub()

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

Subtract gauss.

Parameters
gaussgauss
Returns
this gauss

Definition at line 103 of file JGauss.hh.

104 {
105 mean -= gauss.mean;
106 sigma -= gauss.sigma;
107 signal -= gauss.signal;
108 background -= gauss.background;
109
110 return *this;
111 }

◆ mul() [1/2]

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

Scale gauss.

Parameters
factormultiplication factor
Returns
this gauss

Definition at line 120 of file JGauss.hh.

121 {
122 mean *= factor;
123 sigma *= factor;
124 signal *= factor;
125 background *= factor;
126
127 return *this;
128 }

◆ 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 138 of file JGauss.hh.

139 {
140 return in >> gauss.mean >> gauss.sigma >> gauss.signal >> gauss.background;
141 }

◆ 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 151 of file JGauss.hh.

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

Member Data Documentation

◆ mean

double JMATH::JGauss_t::mean

Definition at line 161 of file JGauss.hh.

◆ sigma

double JMATH::JGauss_t::sigma

Definition at line 162 of file JGauss.hh.

◆ signal

double JMATH::JGauss_t::signal

Definition at line 163 of file JGauss.hh.

◆ background

double JMATH::JGauss_t::background

Definition at line 164 of file JGauss.hh.


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