31#ifndef ROOT_Math_Vavilov
32#define ROOT_Math_Vavilov
143 virtual double Pdf (
double x)
const = 0;
153 virtual double Pdf (
double x,
double kappa,
double beta2) = 0;
160 virtual double Cdf (
double x)
const = 0;
170 virtual double Cdf (
double x,
double kappa,
double beta2) = 0;
177 virtual double Cdf_c (
double x)
const = 0;
187 virtual double Cdf_c (
double x,
double kappa,
double beta2) = 0;
204 virtual double Quantile (
double z,
double kappa,
double beta2) = 0;
221 virtual double Quantile_c (
double z,
double kappa,
double beta2) = 0;
256 virtual double Mode()
const;
265 virtual double Mode(
double kappa,
double beta2);
271 virtual double Mean()
const;
296 static double Mean(
double kappa,
double beta2);
304 static double Variance(
double kappa,
double beta2);
313 static double Skewness(
double kappa,
double beta2);
322 static double Kurtosis(
double kappa,
double beta2);
Base class describing a Vavilov distribution.
virtual double Pdf(double x) const =0
Evaluate the Vavilov probability density function.
virtual ~Vavilov()
Destructor.
virtual double Cdf(double x) const =0
Evaluate the 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,...
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 Cdf(double x, double kappa, double beta2)=0
Evaluate the Vavilov cumulative probability density function, and set kappa and beta2,...
virtual double GetKappa() const =0
Return the current value of .
virtual double GetLambdaMax() const =0
Return the maximum value of for which is nonzero in the current approximation.
virtual double Quantile(double z) const =0
Evaluate the inverse of the Vavilov cumulative probability density function.
virtual double GetLambdaMin() const =0
Return the minimum value of for which is nonzero in the current approximation.
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,...
virtual double Cdf_c(double x) const =0
Evaluate the Vavilov complementary cumulative probability density function.
virtual double Variance() const
Return the theoretical variance .
virtual double GetBeta2() const =0
Return the current value of .
virtual void SetKappaBeta2(double kappa, double beta2)=0
Change and and recalculate coefficients if necessary.
virtual double Quantile_c(double z) const =0
Evaluate the inverse of the complementary Vavilov cumulative probability density function.
virtual double Mode() const
Return the value of where the pdf is maximal.
virtual double Mean() const
Return the theoretical mean , where is Euler's constant.
virtual double Skewness() const
Return the theoretical skewness .
virtual double Kurtosis() const
Return the theoretical kurtosis .
virtual double Cdf_c(double x, double kappa, double beta2)=0
Evaluate the Vavilov complementary cumulative probability density function, and set kappa and beta2,...
Vavilov()
Default constructor.
Namespace for new Math classes and functions.