ROOT logo
ROOT » MATH » MATHMORE » ROOT::Math::VavilovAccuratePdf

class ROOT::Math::VavilovAccuratePdf: public ROOT::Math::IParametricFunctionOneDim


   Class describing the Vavilov pdf.

   The probability density function of the Vavilov distribution
   is given by:
  \f[ p(\lambda; \kappa, \beta^2) =
  \frac{1}{2 \pi i}\int_{c-i\infty}^{c+i\infty} \phi(s) e^{\lambda s} ds\f]
   where \f$\phi(s) = e^{C} e^{\psi(s)}\f$
   with  \f$ C = \kappa (1+\beta^2 \gamma )\f$
   and \f$\psi(s)&=& s \ln \kappa + (s+\beta^2 \kappa)
               \cdot \left ( \int \limits_{0}^{1}
               \frac{1 - e^{\frac{-st}{\kappa}}}{t} \,\der t- \gamma \right )
               - \kappa \, e^{\frac{-s}{\kappa}}\f$.
   \f$ \gamma = 0.5772156649\dots\f$ is Euler's constant.

   The parameters are:
   - 0: Norm: Normalization constant
   - 1: x0:   Location parameter
   - 2: xi:   Width parameter
   - 3: kappa: Parameter \f$\kappa\f$ of the Vavilov distribution
   - 4: beta2: Parameter \f$\beta^2\f$ of the Vavilov distribution

   Benno List, June 2010

   @ingroup StatFunc

Function Members (Methods)

public:
virtual~VavilovAccuratePdf()
virtual ROOT::Math::IBaseFunctionOneDim*Clone() const
virtual doubleDoEval(double x) const
virtual doubleDoEvalPar(double x, const double* p) const
virtual unsigned intNPar() const
doubleROOT::Math::IParametricFunctionOneDim::operator()(double x, const double* p) const
doubleROOT::Math::IParametricFunctionOneDim::operator()(const double* x, const double* p) const
ROOT::Math::VavilovAccuratePdf&operator=(const ROOT::Math::VavilovAccuratePdf&)
virtual stringParameterName(unsigned int i) const
virtual const double*Parameters() const
virtual voidSetParameters(const double* p)
ROOT::Math::VavilovAccuratePdfVavilovAccuratePdf()
ROOT::Math::VavilovAccuratePdfVavilovAccuratePdf(const double* p)
ROOT::Math::VavilovAccuratePdfVavilovAccuratePdf(const ROOT::Math::VavilovAccuratePdf&)

Data Members

private:
doublefP[5]

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

VavilovAccuratePdf()
         Default constructor

VavilovAccuratePdf(const double* p)
         Constructor with parameter values
         @param p vector of doubles containing the parameter values (Norm, x0, xi, kappa, beta2).

virtual ~VavilovAccuratePdf()
         Destructor

const double * Parameters() const
         Access the parameter values

void SetParameters(const double* p)
         Set the parameter values

         @param p vector of doubles containing the parameter values (Norm, x0, xi, kappa, beta2).


unsigned int NPar() const
         Return the number of Parameters

std::string ParameterName(unsigned int i) const
         Return the name of the i-th parameter (starting from zero)

double DoEval(double x) const
         Evaluate the function

       @param x The Landau parameter \f$x = \lambda_L\f$

double DoEvalPar(double x, const double* p) const
         Evaluate the function, using parameters p

       @param x The Landau parameter \f$x = \lambda_L\f$
         @param p vector of doubles containing the parameter values (Norm, x0, xi, kappa, beta2).

IBaseFunctionOneDim * Clone() const
         Return a clone of the object