31 #ifndef ROOT_Math_VavilovAccurate 32 #define ROOT_Math_VavilovAccurate 162 double Pdf (
double x)
const;
172 double Pdf (
double x,
double kappa,
double beta2);
179 double Cdf (
double x)
const;
189 double Cdf (
double x,
double kappa,
double beta2);
196 double Cdf_c (
double x)
const;
206 double Cdf_c (
double x,
double kappa,
double beta2);
223 double Quantile (
double z,
double kappa,
double beta2);
240 double Quantile_c (
double z,
double kappa,
double beta2);
261 void Set(
double kappa,
double beta2,
double epsilonPM=5
E-4,
double epsilon=1
E-5);
289 virtual double Mode()
const;
298 virtual double Mode(
double kappa,
double beta2);
347 double G116f1 (
double x)
const;
348 double G116f2 (
double x)
const;
350 int Rzero (
double a,
double b,
double& x0,
352 static double E1plLog (
double x);
Base class describing a Vavilov distribution.
double G116f1(double x) const
This namespace contains pre-defined functions to be used in conjuction with TExecutor::Map and TExecu...
void InitQuantile() const
double Cdf_c(double x) const
Evaluate the Vavilov complementary cumulative probability density function.
int Rzero(double a, double b, double &x0, double eps, int mxf, double(VavilovAccurate::*f)(double) const) const
double fA_cdf[MAXTERMS+1]
double vavilov_accurate_cdf_c(double x, double kappa, double beta2)
The Vavilov complementary cumulative probability density function.
virtual void SetKappaBeta2(double kappa, double beta2)
Change and and recalculate coefficients if necessary.
double G116f2(double x) const
double fQuant[kNquantMax]
double GetEpsilonPM() const
Return the current value of .
double fB_cdf[MAXTERMS+1]
double Pdf(double x) const
Evaluate the Vavilov probability density function.
double Cdf(double x) const
Evaluate the Vavilov cumulative probability density function.
virtual double GetLambdaMax() const
Return the maximum value of for which is nonzero in the current approximation.
void Set(double kappa, double beta2, double epsilonPM=5E-4, double epsilon=1E-5)
(Re)Initialize the object
virtual double GetLambdaMin() const
Return the minimum value of for which is nonzero in the current approximation.
static VavilovAccurate * GetInstance()
Returns a static instance of class VavilovFast.
static VavilovAccurate * fgInstance
double fA_pdf[MAXTERMS+1]
double Quantile_c(double z) const
Evaluate the inverse of the complementary Vavilov cumulative probability density function.
VavilovAccurate(double kappa=1, double beta2=1, double epsilonPM=5E-4, double epsilon=1E-5)
Initialize an object to calculate the Vavilov distribution.
double vavilov_accurate_pdf(double x, double kappa, double beta2)
The Vavilov probability density function.
Class describing a Vavilov distribution.
double Quantile(double z) const
Evaluate the inverse of the Vavilov cumulative probability density function.
virtual double GetBeta2() const
Return the current value of .
Namespace for new Math classes and functions.
virtual double Mode() const
Return the value of where the pdf is maximal.
you should not use this method at all Int_t Int_t z
static double E1plLog(double x)
double GetNTerms() const
Return the number of terms used in the series expansion.
double fLambda[kNquantMax]
virtual ~VavilovAccurate()
Destructor.
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
virtual double GetKappa() const
Return the current value of .
double GetEpsilon() const
Return the current value of .
double fB_pdf[MAXTERMS+1]
double vavilov_accurate_quantile_c(double z, double kappa, double beta2)
The inverse of the complementary Vavilov cumulative probability density function. ...
double vavilov_accurate_quantile(double z, double kappa, double beta2)
The inverse of the Vavilov cumulative probability density function.
double vavilov_accurate_cdf(double x, double kappa, double beta2)
The Vavilov cumulative probability density function.