npstat is hosted by Hepforge, IPPP Durham
NPStat  5.10.0

#include <DiscreteDistributions1D.hh>

Inheritance diagram for npstat::Poisson1D:
npstat::AbsDiscreteDistribution1D

Public Member Functions

 Poisson1D (double lambda)
 
 Poisson1D (const Poisson1D &)
 
Poisson1Doperator= (const Poisson1D &)
 
virtual Poisson1Dclone () const
 
double mean () const
 
double probability (long x) const
 
double cdf (double x) const
 
double exceedance (double x) const
 
long quantile (double x) const
 
unsigned random (AbsRandomGenerator &g, long *generatedRandom) const
 
virtual gs::ClassId classId () const
 
virtual bool write (std::ostream &os) const
 
- Public Member Functions inherited from npstat::AbsDiscreteDistribution1D
bool operator== (const AbsDiscreteDistribution1D &r) const
 
bool operator!= (const AbsDiscreteDistribution1D &r) const
 

Static Public Member Functions

static const char * classname ()
 
static unsigned version ()
 
static Poisson1Dread (const gs::ClassId &id, std::istream &in)
 
- Static Public Member Functions inherited from npstat::AbsDiscreteDistribution1D
static const char * classname ()
 
static unsigned version ()
 
static AbsDiscreteDistribution1Dread (const gs::ClassId &id, std::istream &is)
 

Protected Member Functions

virtual bool isEqual (const AbsDiscreteDistribution1D &o) const
 

Detailed Description

The Poisson distribution. The calculations of cdf and quantiles, together with generation of random numbers, are implemented by constructing the cdf lookup table. Once such a table is constructed, calculations of this kind become pretty fast. Nevertheless, since construction of the complete cdf table takes some time (especially for large Poisson lambdas), one can imagine situations in which it may be more efficient to set up a Poisson process instead. For example, if you need to generate a few random numbers for many different values of lambda, you might be able to save some CPU time by following the Poisson process route.

Member Function Documentation

◆ cdf()

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

Cumulative distribution function

Implements npstat::AbsDiscreteDistribution1D.

◆ classId()

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

Prototype needed for I/O

Implements npstat::AbsDiscreteDistribution1D.

◆ clone()

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

"Virtual copy constructor"

Implements npstat::AbsDiscreteDistribution1D.

◆ exceedance()

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

1 - cdf, implementations should avoid subtractive cancellation

Implements npstat::AbsDiscreteDistribution1D.

◆ isEqual()

virtual bool npstat::Poisson1D::isEqual ( const AbsDiscreteDistribution1D ) const
inlineprotectedvirtual

Comparison for equality. To be implemented by derived classes.

Implements npstat::AbsDiscreteDistribution1D.

◆ probability()

double npstat::Poisson1D::probability ( long  x) const
virtual

Probability

Implements npstat::AbsDiscreteDistribution1D.

◆ quantile()

long npstat::Poisson1D::quantile ( double  x) const
virtual

The quantile function

Implements npstat::AbsDiscreteDistribution1D.

◆ random()

unsigned npstat::Poisson1D::random ( AbsRandomGenerator g,
long *  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::AbsDiscreteDistribution1D.


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