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

Custom probability density function of time-of-arrival. More...

#include <JHit.hh>

Inheritance diagram for JACOUSTICS::JPDFGauss:
JMATH::JGauss JMATH::JGauss_t JMATH::JMath< JGauss_t > JLANG::JEquals< JFirst_t, JSecond_t >

Public Types

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

Public Member Functions

 JPDFGauss ()
 Default constructor. More...
 
 JPDFGauss (const double t1_s, const double sigma_s, const double signal=1.0, const double background=0.0)
 Constructor. More...
 
double getValue () const
 Get expectation value of time-of-arrival. More...
 
double getWeight () const
 Get weight. More...
 
double getValue (const double x) const
 Function value. More...
 
double getDerivative (const double x) const
 Derivative value. More...
 
double operator() (const double x) const
 Function value. More...
 
JGauss_t getGradient (const double x) const
 Get gradient. 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 JNullType &object)
 Multiply with object. More...
 

Public Attributes

double mean
 
double sigma
 
double signal
 
double background
 

Detailed Description

Custom probability density function of time-of-arrival.

Definition at line 35 of file JAcoustics/JHit.hh.

Member Typedef Documentation

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

Type definition of fit parameter.

Definition at line 179 of file JGauss.hh.

Constructor & Destructor Documentation

JACOUSTICS::JPDFGauss::JPDFGauss ( )
inline

Default constructor.

Definition at line 43 of file JAcoustics/JHit.hh.

43  :
44  JGauss()
45  {}
JGauss()
Default constructor.
Definition: JGauss.hh:185
JACOUSTICS::JPDFGauss::JPDFGauss ( const double  t1_s,
const double  sigma_s,
const double  signal = 1.0,
const double  background = 0.0 
)
inline

Constructor.

Parameters
t1_stime-of-arrival [s]
sigma_sresolution [s]
signalsignal
backgroundbackground probability [0,1>

Definition at line 56 of file JAcoustics/JHit.hh.

59  :
61  {}
JGauss()
Default constructor.
Definition: JGauss.hh:185
double signal
Definition: JGauss.hh:163
then $DIR JKatoomba a $DETECTOR o $WORKDIR katoomba root T $TRIPOD n sigma_s
double background
Definition: JGauss.hh:164

Member Function Documentation

double JACOUSTICS::JPDFGauss::getValue ( ) const
inline

Get expectation value of time-of-arrival.

Returns
time-of-arrival [s]

Definition at line 69 of file JAcoustics/JHit.hh.

70  {
71  return mean;
72  }
double mean
Definition: JGauss.hh:161
double JACOUSTICS::JPDFGauss::getWeight ( ) const
inline

Get weight.

Returns
weight

Definition at line 80 of file JAcoustics/JHit.hh.

81  {
82  return signal;
83  }
double signal
Definition: JGauss.hh:163
double JMATH::JGauss::getValue ( const double  x) const
inlineinherited

Function value.

Parameters
xabscissa value
Returns
function value

Definition at line 222 of file JGauss.hh.

223  {
224  const double u = (x - mean) / sigma;
225 
226  return get_signal(u) + background;
227  }
double mean
Definition: JGauss.hh:161
double get_signal(const double u) const
Get signal.
Definition: JGauss.hh:284
double background
Definition: JGauss.hh:164
double sigma
Definition: JGauss.hh:162
double u[N+1]
Definition: JPolint.hh:739
double JMATH::JGauss::getDerivative ( const double  x) const
inlineinherited

Derivative value.

Parameters
xabscissa value
Returns
derivative value

Definition at line 236 of file JGauss.hh.

237  {
238  const double u = (x - mean) / sigma;
239 
240  return get_signal(u) * -u;
241  }
double mean
Definition: JGauss.hh:161
double get_signal(const double u) const
Get signal.
Definition: JGauss.hh:284
double sigma
Definition: JGauss.hh:162
double u[N+1]
Definition: JPolint.hh:739
double JMATH::JGauss::operator() ( const double  x) const
inlineinherited

Function value.

Parameters
xabscissa value
Returns
function value

Definition at line 250 of file JGauss.hh.

251  {
252  return getValue(x);
253  }
double getValue(const double x) const
Function value.
Definition: JGauss.hh:222
JGauss_t JMATH::JGauss::getGradient ( const double  x) const
inlineinherited

Get gradient.

Parameters
xabscissa value
Returns
gradient

Definition at line 262 of file JGauss.hh.

263  {
264  JGauss_t gradient;
265 
266  const double u = (x - mean) / sigma;
267  const double fs = get_signal(u);
268 
269  gradient.mean = fs * u / sigma; // d(f)/d(mean)
270  gradient.sigma = fs * u*u / sigma - fs / sigma; // d(f)/d(sigma)
271  gradient.signal = fs / signal; // d(f)/d(signal)
272  gradient.background = 1.0; // d(f)/d(background)
273 
274  return gradient;
275  }
double mean
Definition: JGauss.hh:161
double get_signal(const double u) const
Get signal.
Definition: JGauss.hh:284
Gauss model.
Definition: JGauss.hh:29
double signal
Definition: JGauss.hh:163
double background
Definition: JGauss.hh:164
double sigma
Definition: JGauss.hh:162
double u[N+1]
Definition: JPolint.hh:739
bool JMATH::JGauss_t::equals ( const JGauss_t gauss,
const double  eps = std::numeric_limits<double>::min() 
) const
inlineinherited

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 mean
Definition: JGauss.hh:161
double signal
Definition: JGauss.hh:163
double background
Definition: JGauss.hh:164
double sigma
Definition: JGauss.hh:162
JGauss_t& JMATH::JGauss_t::add ( const JGauss_t gauss)
inlineinherited

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  }
double mean
Definition: JGauss.hh:161
double signal
Definition: JGauss.hh:163
double background
Definition: JGauss.hh:164
double sigma
Definition: JGauss.hh:162
JGauss_t& JMATH::JGauss_t::sub ( const JGauss_t gauss)
inlineinherited

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  }
double mean
Definition: JGauss.hh:161
double signal
Definition: JGauss.hh:163
double background
Definition: JGauss.hh:164
double sigma
Definition: JGauss.hh:162
JGauss_t& JMATH::JGauss_t::mul ( const double  factor)
inlineinherited

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  }
double mean
Definition: JGauss.hh:161
double signal
Definition: JGauss.hh:163
double background
Definition: JGauss.hh:164
double sigma
Definition: JGauss.hh:162
JGauss_t & JMATH::JMath< JGauss_t , JNullType >::mul ( const JNullType object)
inlineinherited

Multiply with object.

Parameters
objectobject
Returns
result object

Definition at line 357 of file JMath.hh.

358  {
359  return static_cast<JFirst_t&>(*this) = JCalculator<JFirst_t>::calculator.mul(static_cast<const JFirst_t&>(*this), object);
360  }
Auxiliary class for arithmetic operations on objects.
Definition: JCalculator.hh:18

Member Data Documentation

double JMATH::JGauss_t::mean
inherited

Definition at line 161 of file JGauss.hh.

double JMATH::JGauss_t::sigma
inherited

Definition at line 162 of file JGauss.hh.

double JMATH::JGauss_t::signal
inherited

Definition at line 163 of file JGauss.hh.

double JMATH::JGauss_t::background
inherited

Definition at line 164 of file JGauss.hh.


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