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< JGauss_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 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 180 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:186
JACOUSTICS::JPDFGauss::JPDFGauss ( const double  t1_s,
const double  sigma_s,
const double  background = 0.0 
)
inline

Constructor.

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

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

57  :
58  JGauss(t1_s, sigma_s, 1.0 - background, background)
59  {}
JGauss()
Default constructor.
Definition: JGauss.hh:186
double background
Definition: JGauss.hh:165

Member Function Documentation

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

Get expectation value of time-of-arrival.

Returns
time-of-arrival [s]

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

68  {
69  return mean;
70  }
double mean
Definition: JGauss.hh:162
double JACOUSTICS::JPDFGauss::getWeight ( ) const
inline

Get weight.

Returns
weight

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

79  {
80  return 1.0 / sigma;
81  }
double sigma
Definition: JGauss.hh:163
double JMATH::JGauss::getValue ( const double  x) const
inlineinherited

Function value.

Parameters
xabscissa value
Returns
function value

Definition at line 223 of file JGauss.hh.

224  {
225  const double u = (x - mean) / sigma;
226 
227  return get_signal(u) + background;
228  }
double mean
Definition: JGauss.hh:162
double get_signal(const double u) const
Get signal.
Definition: JGauss.hh:285
double background
Definition: JGauss.hh:165
double sigma
Definition: JGauss.hh:163
double u[N+1]
Definition: JPolint.hh:706
double JMATH::JGauss::getDerivative ( const double  x) const
inlineinherited

Derivative value.

Parameters
xabscissa value
Returns
derivative value

Definition at line 237 of file JGauss.hh.

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

Function value.

Parameters
xabscissa value
Returns
function value

Definition at line 251 of file JGauss.hh.

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

Get gradient.

Parameters
xabscissa value
Returns
gradient

Definition at line 263 of file JGauss.hh.

264  {
265  JGauss_t gradient;
266 
267  const double u = (x - mean) / sigma;
268  const double fs = get_signal(u);
269 
270  gradient.mean = fs * u / sigma; // d(f)/d(mean)
271  gradient.sigma = fs * u*u / sigma - fs / sigma; // d(f)/d(sigma)
272  gradient.signal = fs / signal; // d(f)/d(signal)
273  gradient.background = 1.0; // d(f)/d(background)
274 
275  return gradient;
276  }
double mean
Definition: JGauss.hh:162
double get_signal(const double u) const
Get signal.
Definition: JGauss.hh:285
Gauss model.
Definition: JGauss.hh:30
double signal
Definition: JGauss.hh:164
double background
Definition: JGauss.hh:165
double sigma
Definition: JGauss.hh:163
double u[N+1]
Definition: JPolint.hh:706
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 71 of file JGauss.hh.

73  {
74  return (fabs(mean - gauss.mean) <= eps &&
75  fabs(sigma - gauss.sigma) <= eps &&
76  fabs(signal - gauss.signal) <= eps &&
77  fabs(background - gauss.background) <= eps);
78  }
double mean
Definition: JGauss.hh:162
double signal
Definition: JGauss.hh:164
double background
Definition: JGauss.hh:165
double sigma
Definition: JGauss.hh:163
JGauss_t& JMATH::JGauss_t::add ( const JGauss_t gauss)
inlineinherited

Add gauss.

Parameters
gaussgauss
Returns
this gauss

Definition at line 87 of file JGauss.hh.

88  {
89  mean += gauss.mean;
90  sigma += gauss.sigma;
91  signal += gauss.signal;
92  background += gauss.background;
93 
94  return *this;
95  }
double mean
Definition: JGauss.hh:162
double signal
Definition: JGauss.hh:164
double background
Definition: JGauss.hh:165
double sigma
Definition: JGauss.hh:163
JGauss_t& JMATH::JGauss_t::sub ( const JGauss_t gauss)
inlineinherited

Subtract gauss.

Parameters
gaussgauss
Returns
this gauss

Definition at line 104 of file JGauss.hh.

105  {
106  mean -= gauss.mean;
107  sigma -= gauss.sigma;
108  signal -= gauss.signal;
109  background -= gauss.background;
110 
111  return *this;
112  }
double mean
Definition: JGauss.hh:162
double signal
Definition: JGauss.hh:164
double background
Definition: JGauss.hh:165
double sigma
Definition: JGauss.hh:163
JGauss_t& JMATH::JGauss_t::mul ( const double  factor)
inlineinherited

Scale gauss.

Parameters
factormultiplication factor
Returns
this gauss

Definition at line 121 of file JGauss.hh.

122  {
123  mean *= factor;
124  sigma *= factor;
125  signal *= factor;
126  background *= factor;
127 
128  return *this;
129  }
double mean
Definition: JGauss.hh:162
double signal
Definition: JGauss.hh:164
double background
Definition: JGauss.hh:165
double sigma
Definition: JGauss.hh:163
JGauss_t & JMATH::JMath< JGauss_t , 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 arithmetic operations on objects.
Definition: JCalculator.hh:18

Member Data Documentation

double JMATH::JGauss_t::mean
inherited

Definition at line 162 of file JGauss.hh.

double JMATH::JGauss_t::sigma
inherited

Definition at line 163 of file JGauss.hh.

double JMATH::JGauss_t::signal
inherited

Definition at line 164 of file JGauss.hh.

double JMATH::JGauss_t::background
inherited

Definition at line 165 of file JGauss.hh.


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