npstat is hosted by Hepforge, IPPP Durham
NPStat  5.10.0

#include <RatioOfNormals.hh>

Inheritance diagram for npstat::RatioOfNormals:
npstat::AbsDistribution1D

Public Member Functions

 RatioOfNormals (double mu1, double s1, double mu2, double s2, double rho)
 
virtual RatioOfNormalsclone () const
 
virtual double density (double x) const
 
virtual double cdf (double x) const
 
virtual double exceedance (double x) const
 
virtual double quantile (double x) const
 
virtual unsigned random (AbsRandomGenerator &g, double *generatedRandom) const
 
virtual gs::ClassId classId () const
 
virtual bool write (std::ostream &) const
 
- Public Member Functions inherited from npstat::AbsDistribution1D
bool operator== (const AbsDistribution1D &r) const
 
bool operator!= (const AbsDistribution1D &r) const
 
long double empiricalMoment (long double center, unsigned order, unsigned nIntegrationPoints=1024U, bool useFejerQuadrature=false) const
 
template<class Functor >
double expectation (const Functor &fcn, unsigned nIntegrationPoints=1024U, bool useFejerQuadrature=false) const
 

Static Public Member Functions

static const char * classname ()
 
static unsigned version ()
 
static RatioOfNormalsread (const gs::ClassId &id, std::istream &)
 
- Static Public Member Functions inherited from npstat::AbsDistribution1D
static const char * classname ()
 
static unsigned version ()
 
static AbsDistribution1Dread (const gs::ClassId &id, std::istream &)
 

Protected Member Functions

virtual bool isEqual (const AbsDistribution1D &r) const
 

Detailed Description

Formulae used in the implementation of this class come from D.V. Hinkley, "On the ratio of two correlated normal random variables", Biometrika, v. 56, p. 635 (1969).

Constructor & Destructor Documentation

◆ RatioOfNormals()

npstat::RatioOfNormals::RatioOfNormals ( double  mu1,
double  s1,
double  mu2,
double  s2,
double  rho 
)

The constructor arguments are as follows:

"mu1" and "s1" are the mean and the standard deviation of the normal random variable in the numerator.

"mu2" and "s2" are the mean and the standard deviation of the normal random variable in the denominator.

"rho" is the correlation coefficient.

Member Function Documentation

◆ cdf()

virtual double npstat::RatioOfNormals::cdf ( double  x) const
virtual

Cumulative distribution function

Implements npstat::AbsDistribution1D.

◆ classId()

virtual gs::ClassId npstat::RatioOfNormals::classId ( ) const
inlinevirtual

Prototype needed for I/O

Implements npstat::AbsDistribution1D.

◆ clone()

virtual RatioOfNormals* npstat::RatioOfNormals::clone ( ) const
inlinevirtual

"Virtual copy constructor"

Implements npstat::AbsDistribution1D.

◆ density()

virtual double npstat::RatioOfNormals::density ( double  x) const
virtual

Probability density

Implements npstat::AbsDistribution1D.

◆ exceedance()

virtual double npstat::RatioOfNormals::exceedance ( double  x) const
virtual

1 - cdf, known as "survival function" or "exceedance". Implementations should avoid subtractive cancellation.

Implements npstat::AbsDistribution1D.

◆ isEqual()

virtual bool npstat::RatioOfNormals::isEqual ( const AbsDistribution1D ) const
protectedvirtual

Comparison for equality. To be implemented by derived classes.

Implements npstat::AbsDistribution1D.

◆ quantile()

virtual double npstat::RatioOfNormals::quantile ( double  x) const
virtual

The quantile function (inverse cdf)

Implements npstat::AbsDistribution1D.

◆ random()

virtual unsigned npstat::RatioOfNormals::random ( AbsRandomGenerator g,
double *  generatedRandom 
) const
virtual

Random number generator according to the given distribution. Should return the number of random points used up from the generator.

Reimplemented from npstat::AbsDistribution1D.


The documentation for this class was generated from the following file: