Jpp  master_rocky-40-g5f0272dcd
the software that should make you happy
Public Member Functions | Public Attributes | Friends | List of all members
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. More...
 
 JGauss_t (const double mean, const double sigma, const double signal, const double background)
 Constructor. More...
 
bool equals (const JGauss_t &gauss, const double eps=std::numeric_limits< double >::min()) const
 Equality. More...
 
JGauss_tadd (const JGauss_t &gauss)
 Add gauss. More...
 
JGauss_tsub (const JGauss_t &gauss)
 Subtract gauss. More...
 
JGauss_tmul (const double factor)
 Scale gauss. More...
 
JGauss_tmul (const JSecond_t &object)
 Multiply with object. More...
 

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. More...
 
std::ostream & operator<< (std::ostream &out, const JGauss_t &gauss)
 Write Gauss to output stream. More...
 

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
double mean
Definition: JGauss.hh:161
double sigma
Definition: JGauss.hh:162

◆ 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 Function 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  }
Definition: JSTDTypes.hh:14
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: