Class describing the Vavilov cdf.
The probability density function of the Vavilov distribution is given by:
\[ p(\lambda; \kappa, \beta^2) = \frac{1}{2 \pi i}\int_{c-i\infty}^{c+i\infty} \phi(s) e^{\lambda s} ds\]
where \(\phi(s) = e^{C} e^{\psi(s)}\) with \( C = \kappa (1+\beta^2 \gamma )\) and
\[\psi(s) = s \ln \kappa + (s+\beta^2 \kappa) \cdot \left ( \int \limits_{0}^{1} \frac{1 - e^{\frac{-st}{\kappa}}}{t} \, dt - \gamma \right ) - \kappa \, e^{\frac{-s}{\kappa}}\]
. \( \gamma = 0.5772156649\dots\) is Euler's constant.
The parameters are:
Benno List, June 2010
Definition at line 72 of file VavilovAccurateCdf.h.
Public Member Functions | |
VavilovAccurateCdf () | |
Default constructor. | |
VavilovAccurateCdf (const double *p) | |
Constructor with parameter values. | |
~VavilovAccurateCdf () override | |
Destructor. | |
IBaseFunctionOneDim * | Clone () const override |
Return a clone of the object. | |
double | DoEval (double x) const override |
Evaluate the function. | |
double | DoEvalPar (double x, const double *p) const override |
Evaluate the function, using parameters p. | |
unsigned int | NPar () const override |
Return the number of Parameters. | |
std::string | ParameterName (unsigned int i) const override |
Return the name of the i-th parameter (starting from zero) Overwrite if want to avoid the default name ("Par_0, Par_1, ...") | |
const double * | Parameters () const override |
Access the parameter values. | |
void | SetParameters (const double *p) override |
Set the parameter values. | |
![]() | |
double | operator() (const double *x, const double *p) const |
multidim-like interface | |
double | operator() (double x, const double *p) const |
Evaluate function at a point x and for given parameters p. | |
![]() | |
virtual | ~IBaseFunctionOneDim ()=default |
virtual bool | HasGradient () const |
double | operator() (const double *x) const |
Evaluate the function at a point x[]. | |
double | operator() (double x) const |
Evaluate the function at a point x. | |
![]() | |
virtual | ~IBaseParam () |
Virtual Destructor (no operations) | |
Private Attributes | |
double | fP [5] |
Additional Inherited Members | |
![]() | |
typedef IBaseFunctionOneDim | BaseFunc |
![]() | |
typedef IBaseFunctionOneDim | BaseFunc |
#include <Math/VavilovAccurateCdf.h>
ROOT::Math::VavilovAccurateCdf::VavilovAccurateCdf | ( | ) |
Default constructor.
Definition at line 40 of file VavilovAccurateCdf.cxx.
ROOT::Math::VavilovAccurateCdf::VavilovAccurateCdf | ( | const double * | p | ) |
Constructor with parameter values.
p | vector of doubles containing the parameter values (Norm, x0, xi, kappa, beta2). |
Definition at line 48 of file VavilovAccurateCdf.cxx.
|
override |
Destructor.
Definition at line 61 of file VavilovAccurateCdf.cxx.
|
overridevirtual |
Return a clone of the object.
Implements ROOT::Math::IBaseFunctionOneDim.
Definition at line 101 of file VavilovAccurateCdf.cxx.
Evaluate the function.
x | The Landau parameter \(x = \lambda_L\) |
Reimplemented from ROOT::Math::IParametricFunctionOneDim.
Definition at line 89 of file VavilovAccurateCdf.cxx.
|
overridevirtual |
Evaluate the function, using parameters p.
x | The Landau parameter \(x = \lambda_L\) |
p | vector of doubles containing the parameter values (Norm, x0, xi, kappa, beta2). |
Implements ROOT::Math::IParametricFunctionOneDim.
Definition at line 94 of file VavilovAccurateCdf.cxx.
|
overridevirtual |
Return the number of Parameters.
Implements ROOT::Math::IBaseParam.
Definition at line 74 of file VavilovAccurateCdf.cxx.
|
overridevirtual |
Return the name of the i-th parameter (starting from zero) Overwrite if want to avoid the default name ("Par_0, Par_1, ...")
Reimplemented from ROOT::Math::IBaseParam.
Definition at line 78 of file VavilovAccurateCdf.cxx.
|
overridevirtual |
Access the parameter values.
Implements ROOT::Math::IBaseParam.
Definition at line 64 of file VavilovAccurateCdf.cxx.
|
overridevirtual |
Set the parameter values.
p | vector of doubles containing the parameter values (Norm, x0, xi, kappa, beta2). |
Implements ROOT::Math::IBaseParam.
Definition at line 68 of file VavilovAccurateCdf.cxx.
|
private |
Definition at line 136 of file VavilovAccurateCdf.h.