Class describing a Vavilov distribution.
The probability density function of the Vavilov distribution as function of Landau's parameter is given by:
where
For the class VavilovFast, Pdf returns the Vavilov distribution as function of Landau's parameter
Therefore, for small values of
For values
For values
The original Vavilov pdf is obtained by v.Pdf(lambdaV/kappa-log(kappa))/kappa.
For detailed description see A. Rotondi and P. Montagna, Fast calculation of Vavilov distribution, Nucl. Instr. and Meth. B47 (1990) 215-224, which has been implemented in CERNLIB (G115).
The class stores coefficients needed to calculate
The parameter
The parameter
Average times on a Pentium Core2 Duo P8400 2.26GHz:
Benno List, June 2010
Definition at line 116 of file VavilovFast.h.
Public Member Functions | |
VavilovFast (double kappa=1, double beta2=1) | |
Initialize an object to calculate the Vavilov distribution. | |
~VavilovFast () override | |
Destructor. | |
double | Cdf (double x) const override |
Evaluate the Vavilov cumulative probability density function. | |
double | Cdf (double x, double kappa, double beta2) override |
Evaluate the Vavilov cumulative probability density function, and set kappa and beta2, if necessary. | |
double | Cdf_c (double x) const override |
Evaluate the Vavilov complementary cumulative probability density function. | |
double | Cdf_c (double x, double kappa, double beta2) override |
Evaluate the Vavilov complementary cumulative probability density function, and set kappa and beta2, if necessary. | |
double | GetBeta2 () const override |
Return the current value of | |
double | GetKappa () const override |
Return the current value of | |
double | GetLambdaMax () const override |
Return the maximum value of | |
double | GetLambdaMin () const override |
Return the minimum value of | |
double | Pdf (double x) const override |
Evaluate the Vavilov probability density function. | |
double | Pdf (double x, double kappa, double beta2) override |
Evaluate the Vavilov probability density function, and set kappa and beta2, if necessary. | |
double | Quantile (double z) const override |
Evaluate the inverse of the Vavilov cumulative probability density function. | |
double | Quantile (double z, double kappa, double beta2) override |
Evaluate the inverse of the Vavilov cumulative probability density function, and set kappa and beta2, if necessary. | |
double | Quantile_c (double z) const override |
Evaluate the inverse of the complementary Vavilov cumulative probability density function. | |
double | Quantile_c (double z, double kappa, double beta2) override |
Evaluate the inverse of the complementary Vavilov cumulative probability density function, and set kappa and beta2, if necessary. | |
void | SetKappaBeta2 (double kappa, double beta2) override |
Change | |
![]() | |
Vavilov () | |
Default constructor. | |
virtual | ~Vavilov () |
Destructor. | |
virtual double | Kurtosis () const |
Return the theoretical kurtosis | |
virtual double | Mean () const |
Return the theoretical mean | |
virtual double | Mode () const |
Return the value of | |
virtual double | Mode (double kappa, double beta2) |
Return the value of | |
virtual double | Skewness () const |
Return the theoretical skewness | |
virtual double | Variance () const |
Return the theoretical variance | |
Static Public Member Functions | |
static VavilovFast * | GetInstance () |
Returns a static instance of class VavilovFast. | |
static VavilovFast * | GetInstance (double kappa, double beta2) |
Returns a static instance of class VavilovFast, and sets the values of kappa and beta2. | |
![]() | |
static double | Kurtosis (double kappa, double beta2) |
Return the theoretical kurtosis | |
static double | Mean (double kappa, double beta2) |
Return the theoretical Mean | |
static double | Skewness (double kappa, double beta2) |
Return the theoretical skewness | |
static double | Variance (double kappa, double beta2) |
Return the theoretical Variance | |
Private Attributes | |
double | fAC [14] |
double | fBeta2 |
double | fHC [9] |
int | fItype |
double | fKappa |
int | fNpt |
double | fWCM [201] |
Static Private Attributes | |
static VavilovFast * | fgInstance = nullptr |
#include <Math/VavilovFast.h>
Initialize an object to calculate the Vavilov distribution.
kappa | The parameter |
beta2 | The parameter |
Definition at line 51 of file VavilovFast.cxx.
|
override |
Destructor.
Definition at line 57 of file VavilovFast.cxx.
Evaluate the Vavilov cumulative probability density function.
x | The Landau parameter |
Implements ROOT::Math::Vavilov.
Definition at line 425 of file VavilovFast.cxx.
Evaluate the Vavilov cumulative probability density function, and set kappa and beta2, if necessary.
x | The Landau parameter |
kappa | The parameter |
beta2 | The parameter |
Implements ROOT::Math::Vavilov.
Definition at line 443 of file VavilovFast.cxx.
Evaluate the Vavilov complementary cumulative probability density function.
x | The Landau parameter |
Implements ROOT::Math::Vavilov.
Definition at line 439 of file VavilovFast.cxx.
Evaluate the Vavilov complementary cumulative probability density function, and set kappa and beta2, if necessary.
x | The Landau parameter |
kappa | The parameter |
beta2 | The parameter |
Implements ROOT::Math::Vavilov.
Definition at line 461 of file VavilovFast.cxx.
|
overridevirtual |
Return the current value of
Implements ROOT::Math::Vavilov.
Definition at line 562 of file VavilovFast.cxx.
|
static |
Returns a static instance of class VavilovFast.
Definition at line 566 of file VavilovFast.cxx.
|
static |
Returns a static instance of class VavilovFast, and sets the values of kappa and beta2.
kappa | The parameter |
beta2 | The parameter |
Definition at line 571 of file VavilovFast.cxx.
|
overridevirtual |
Return the current value of
Implements ROOT::Math::Vavilov.
Definition at line 558 of file VavilovFast.cxx.
|
overridevirtual |
Return the maximum value of
Implements ROOT::Math::Vavilov.
Definition at line 554 of file VavilovFast.cxx.
|
overridevirtual |
Return the minimum value of
Implements ROOT::Math::Vavilov.
Definition at line 550 of file VavilovFast.cxx.
Evaluate the Vavilov probability density function.
x | The Landau parameter |
Implements ROOT::Math::Vavilov.
Definition at line 363 of file VavilovFast.cxx.
Evaluate the Vavilov probability density function, and set kappa and beta2, if necessary.
x | The Landau parameter |
kappa | The parameter |
beta2 | The parameter |
Implements ROOT::Math::Vavilov.
Definition at line 407 of file VavilovFast.cxx.
Evaluate the inverse of the Vavilov cumulative probability density function.
z | The argument |
Implements ROOT::Math::Vavilov.
Definition at line 479 of file VavilovFast.cxx.
Evaluate the inverse of the Vavilov cumulative probability density function, and set kappa and beta2, if necessary.
z | The argument |
kappa | The parameter |
beta2 | The parameter |
Implements ROOT::Math::Vavilov.
Definition at line 535 of file VavilovFast.cxx.
Evaluate the inverse of the complementary Vavilov cumulative probability density function.
z | The argument |
Implements ROOT::Math::Vavilov.
Definition at line 540 of file VavilovFast.cxx.
Evaluate the inverse of the complementary Vavilov cumulative probability density function, and set kappa and beta2, if necessary.
z | The argument |
kappa | The parameter |
beta2 | The parameter |
Implements ROOT::Math::Vavilov.
Definition at line 545 of file VavilovFast.cxx.
Change
kappa | The parameter |
beta2 | The parameter |
Implements ROOT::Math::Vavilov.
Definition at line 62 of file VavilovFast.cxx.
|
private |
Definition at line 273 of file VavilovFast.h.
|
private |
Definition at line 271 of file VavilovFast.h.
|
staticprivate |
Definition at line 279 of file VavilovFast.h.
|
private |
Definition at line 274 of file VavilovFast.h.
|
private |
Definition at line 276 of file VavilovFast.h.
|
private |
Definition at line 270 of file VavilovFast.h.
|
private |
Definition at line 277 of file VavilovFast.h.
|
private |
Definition at line 275 of file VavilovFast.h.