Jpp
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Public Attributes | Friends | List of all members
JMATH::JGauss Class Reference

Data structure for Gaussian function on top of a flat background. More...

#include <JGauss.hh>

Inheritance diagram for JMATH::JGauss:
JMATH::JMath< JGauss >

Public Types

typedef double JGauss::* parameter_type
 Type definition of fit parameter. More...
 

Public Member Functions

 JGauss ()
 Default constructor. More...
 
 JGauss (const double mean, const double sigma, const double signal, const double background)
 Constructor. More...
 
JGaussadd (const JGauss &gauss)
 Add gauss. More...
 
JGausssub (const JGauss &gauss)
 Subtract gauss. More...
 
JGaussmul (const double factor)
 Scale gauss. More...
 
bool equals (const JGauss &gauss, const double eps=std::numeric_limits< double >::min()) const
 Equality. More...
 
JGaussmul (const JNullType &object)
 Multiply with object. More...
 

Public Attributes

double mean
 
double sigma
 
double signal
 
double background
 

Friends

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

Detailed Description

Data structure for Gaussian function on top of a flat background.

This class implements the JMATH::JMath interface.

Definition at line 30 of file JGauss.hh.

Member Typedef Documentation

typedef double JGauss::* JMATH::JGauss::parameter_type

Type definition of fit parameter.

Definition at line 38 of file JGauss.hh.

Constructor & Destructor Documentation

JMATH::JGauss::JGauss ( )
inline

Default constructor.

Definition at line 44 of file JGauss.hh.

44  :
45  mean (0.0),
46  sigma (0.0),
47  signal (0.0),
48  background(0.0)
49  {}
double mean
Definition: JGauss.hh:169
double sigma
Definition: JGauss.hh:170
double signal
Definition: JGauss.hh:171
double background
Definition: JGauss.hh:172
JMATH::JGauss::JGauss ( const double  mean,
const double  sigma,
const double  signal,
const double  background 
)
inline

Constructor.

Parameters
meanmean
sigmasigma
signalsignal
backgroundbackground

Definition at line 60 of file JGauss.hh.

63  :
64  mean (mean),
65  sigma (sigma),
66  signal (signal),
68  {}
double mean
Definition: JGauss.hh:169
double sigma
Definition: JGauss.hh:170
double signal
Definition: JGauss.hh:171
double background
Definition: JGauss.hh:172

Member Function Documentation

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

Add gauss.

Parameters
gaussgauss
Returns
this gauss

Definition at line 77 of file JGauss.hh.

78  {
79  mean += gauss.mean;
80  sigma += gauss.sigma;
81  signal += gauss.signal;
82  background += gauss.background;
83 
84  return *this;
85  }
double mean
Definition: JGauss.hh:169
double sigma
Definition: JGauss.hh:170
double signal
Definition: JGauss.hh:171
double background
Definition: JGauss.hh:172
JGauss& JMATH::JGauss::sub ( const JGauss gauss)
inline

Subtract gauss.

Parameters
gaussgauss
Returns
this gauss

Definition at line 94 of file JGauss.hh.

95  {
96  mean -= gauss.mean;
97  sigma -= gauss.sigma;
98  signal -= gauss.signal;
99  background -= gauss.background;
100 
101  return *this;
102  }
double mean
Definition: JGauss.hh:169
double sigma
Definition: JGauss.hh:170
double signal
Definition: JGauss.hh:171
double background
Definition: JGauss.hh:172
JGauss& JMATH::JGauss::mul ( const double  factor)
inline

Scale gauss.

Parameters
factormultiplication factor
Returns
this gauss

Definition at line 111 of file JGauss.hh.

112  {
113  mean *= factor;
114  sigma *= factor;
115  signal *= factor;
116  background *= factor;
117 
118  return *this;
119  }
double mean
Definition: JGauss.hh:169
double sigma
Definition: JGauss.hh:170
double signal
Definition: JGauss.hh:171
double background
Definition: JGauss.hh:172
bool JMATH::JGauss::equals ( const JGauss 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 129 of file JGauss.hh.

131  {
132  return (fabs(mean - gauss.mean) <= eps &&
133  fabs(sigma - gauss.sigma) <= eps &&
134  fabs(signal - gauss.signal) <= eps &&
135  fabs(background - gauss.background) <= eps);
136  }
double mean
Definition: JGauss.hh:169
double sigma
Definition: JGauss.hh:170
double signal
Definition: JGauss.hh:171
double background
Definition: JGauss.hh:172
JGauss & JMATH::JMath< JGauss , JNullType >::mul ( const JNullType object)
inlineinherited

Multiply with object.

Parameters
objectobject
Returns
result object

Definition at line 273 of file JMath.hh.

274  {
275  return static_cast<JFirst_t&>(*this) = JCalculator<JFirst_t>::calculator.mul(static_cast<const JFirst_t&>(*this), object);
276  }
Auxiliary class for product evaluation of objects.
Definition: JCalculator.hh:18

Friends And Related Function Documentation

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

Write Gauss to input stream.

Parameters
ininput stream
gaussgauss
Returns
input stream

Definition at line 146 of file JGauss.hh.

147  {
148  return in >> gauss.mean >> gauss.sigma >> gauss.signal >> gauss.background;
149  }
double mean
Definition: JGauss.hh:169
double sigma
Definition: JGauss.hh:170
double signal
Definition: JGauss.hh:171
double background
Definition: JGauss.hh:172
std::ostream& operator<< ( std::ostream &  out,
const JGauss gauss 
)
friend

Write Gauss to output stream.

Parameters
outoutput stream
gaussgauss
Returns
output stream

Definition at line 159 of file JGauss.hh.

160  {
161  using namespace std;
162 
163  return out << FIXED(7,3) << gauss.mean << ' '
164  << FIXED(7,3) << gauss.sigma << ' '
165  << FIXED(9,3) << gauss.signal << ' '
166  << FIXED(9,3) << gauss.background;
167  }
Auxiliary data structure for floating point format specification.
Definition: JPrint.hh:461
double mean
Definition: JGauss.hh:169
double sigma
Definition: JGauss.hh:170
double signal
Definition: JGauss.hh:171
double background
Definition: JGauss.hh:172

Member Data Documentation

double JMATH::JGauss::mean

Definition at line 169 of file JGauss.hh.

double JMATH::JGauss::sigma

Definition at line 170 of file JGauss.hh.

double JMATH::JGauss::signal

Definition at line 171 of file JGauss.hh.

double JMATH::JGauss::background

Definition at line 172 of file JGauss.hh.


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