Base class describing a Vavilov distribution.
The Vavilov distribution is defined in P.V. Vavilov: Ionization losses of high-energy heavy particles, Sov. Phys. JETP 5 (1957) 749 [Zh. Eksp. Teor. Fiz. 32 (1957) 920].
The probability density function of the Vavilov distribution as function of Landau's parameter is given by:
where
For the class Vavilov, Pdf returns the Vavilov distribution as function of Landau's parameter
Therefore, for small values of
For values
The original Vavilov pdf is obtained by v.Pdf(lambdaV/kappa-log(kappa))/kappa.
Two subclasses are provided:
Both subclasses store coefficients needed to calculate
VavilovFast is about 5 times faster for the calculation of the Pdf than VavilovAccurate; initialization takes about 100 times longer than calculation of the Pdf value. For the quantile calculation, VavilovFast is 30 times faster for the initialization, and 6 times faster for subsequent calculations. Initialization for Quantile takes 27 (11) times longer than subsequent calls for VavilovFast (VavilovAccurate).
Public Member Functions | |
Vavilov () | |
Default constructor. | |
virtual | ~Vavilov () |
Destructor. | |
virtual double | Cdf (double x) const =0 |
Evaluate the Vavilov cumulative probability density function. | |
virtual double | Cdf (double x, double kappa, double beta2)=0 |
Evaluate the Vavilov cumulative probability density function, and set kappa and beta2, if necessary. | |
virtual double | Cdf_c (double x) const =0 |
Evaluate the Vavilov complementary cumulative probability density function. | |
virtual double | Cdf_c (double x, double kappa, double beta2)=0 |
Evaluate the Vavilov complementary cumulative probability density function, and set kappa and beta2, if necessary. | |
virtual double | GetBeta2 () const =0 |
Return the current value of | |
virtual double | GetKappa () const =0 |
Return the current value of | |
virtual double | GetLambdaMax () const =0 |
Return the maximum value of | |
virtual double | GetLambdaMin () const =0 |
Return the minimum value of | |
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 | Pdf (double x) const =0 |
Evaluate the Vavilov probability density function. | |
virtual double | Pdf (double x, double kappa, double beta2)=0 |
Evaluate the Vavilov probability density function, and set kappa and beta2, if necessary. | |
virtual double | Quantile (double z) const =0 |
Evaluate the inverse of the Vavilov cumulative probability density function. | |
virtual double | Quantile (double z, double kappa, double beta2)=0 |
Evaluate the inverse of the Vavilov cumulative probability density function, and set kappa and beta2, if necessary. | |
virtual double | Quantile_c (double z) const =0 |
Evaluate the inverse of the complementary Vavilov cumulative probability density function. | |
virtual double | Quantile_c (double z, double kappa, double beta2)=0 |
Evaluate the inverse of the complementary Vavilov cumulative probability density function, and set kappa and beta2, if necessary. | |
virtual void | SetKappaBeta2 (double kappa, double beta2)=0 |
Change | |
virtual double | Skewness () const |
Return the theoretical skewness | |
virtual double | Variance () const |
Return the theoretical variance | |
Static Public Member Functions | |
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 | |
#include <Math/Vavilov.h>
ROOT::Math::Vavilov::Vavilov | ( | ) |
Default constructor.
Definition at line 46 of file Vavilov.cxx.
|
virtual |
Destructor.
Definition at line 50 of file Vavilov.cxx.
Evaluate the Vavilov cumulative probability density function.
x | The Landau parameter |
Implemented in ROOT::Math::VavilovAccurate, and ROOT::Math::VavilovFast.
Evaluate the Vavilov cumulative probability density function, and set kappa and beta2, if necessary.
x | The Landau parameter |
kappa | The parameter |
beta2 | The parameter |
Implemented in ROOT::Math::VavilovAccurate, and ROOT::Math::VavilovFast.
Evaluate the Vavilov complementary cumulative probability density function.
x | The Landau parameter |
Implemented in ROOT::Math::VavilovAccurate, and ROOT::Math::VavilovFast.
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 |
Implemented in ROOT::Math::VavilovAccurate, and ROOT::Math::VavilovFast.
Return the current value of
Implemented in ROOT::Math::VavilovAccurate, and ROOT::Math::VavilovFast.
Return the current value of
Implemented in ROOT::Math::VavilovAccurate, and ROOT::Math::VavilovFast.
Return the maximum value of
Implemented in ROOT::Math::VavilovAccurate, and ROOT::Math::VavilovFast.
Return the minimum value of
Implemented in ROOT::Math::VavilovAccurate, and ROOT::Math::VavilovFast.
|
virtual |
Return the theoretical kurtosis
Definition at line 105 of file Vavilov.cxx.
Return the theoretical kurtosis
kappa | The parameter |
beta2 | The parameter |
Definition at line 109 of file Vavilov.cxx.
|
virtual |
Return the theoretical mean
Definition at line 80 of file Vavilov.cxx.
Return the theoretical Mean
kappa | The parameter |
beta2 | The parameter |
Definition at line 84 of file Vavilov.cxx.
|
virtual |
Return the value of
Reimplemented in ROOT::Math::VavilovAccurate.
Definition at line 56 of file Vavilov.cxx.
Return the value of
kappa | The parameter |
beta2 | The parameter |
Reimplemented in ROOT::Math::VavilovAccurate.
Definition at line 75 of file Vavilov.cxx.
Evaluate the Vavilov probability density function.
x | The Landau parameter |
Implemented in ROOT::Math::VavilovAccurate, and ROOT::Math::VavilovFast.
Evaluate the Vavilov probability density function, and set kappa and beta2, if necessary.
x | The Landau parameter |
kappa | The parameter |
beta2 | The parameter |
Implemented in ROOT::Math::VavilovAccurate, and ROOT::Math::VavilovFast.
Evaluate the inverse of the Vavilov cumulative probability density function.
z | The argument |
Implemented in ROOT::Math::VavilovAccurate, and ROOT::Math::VavilovFast.
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 |
Implemented in ROOT::Math::VavilovAccurate, and ROOT::Math::VavilovFast.
Evaluate the inverse of the complementary Vavilov cumulative probability density function.
z | The argument |
Implemented in ROOT::Math::VavilovAccurate, and ROOT::Math::VavilovFast.
|
pure virtual |
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 |
Implemented in ROOT::Math::VavilovAccurate, and ROOT::Math::VavilovFast.
Change
kappa | The parameter |
beta2 | The parameter |
Implemented in ROOT::Math::VavilovAccurate, and ROOT::Math::VavilovFast.
|
virtual |
Return the theoretical skewness
Definition at line 96 of file Vavilov.cxx.
Return the theoretical skewness
kappa | The parameter |
beta2 | The parameter |
Definition at line 100 of file Vavilov.cxx.
|
virtual |
Return the theoretical variance
Definition at line 88 of file Vavilov.cxx.
Return the theoretical Variance
kappa | The parameter |
beta2 | The parameter |
Definition at line 92 of file Vavilov.cxx.