HepStat is a substitute for using a namespace.

One would never instantiate a HepStat object; usage of any of these methods looks like:

HepDouble x = HepStat::erf ( .1 );

A user may wish to improve the readability of algortihm code which uses one method many times by lines like

using HepStat::erf

and later, x = erf(u); will work.

These methods are implemented in separate .cc files so that user code need pull in only the code that is necessary. Time (ROUGH estimates in cycles) and table footprint info is provided in this header.


Mark Fishler

See also

Engines: HepRandomEngine, DRand48Engine , DualRand, HepJamesRandom, Hurd160Engine, Hurd288Engine, MTwistEngine, RandEngine, RanecuEngine, RanluxEngine, Ranlux64Engine, RanshiEngine, TripleRand

Distributions: HepRandom, RandBinomial, RandBit, RandBreitWigner, RandChiSquare, RandExponential, RandFlat, RandGamma, RandGauss, RandGaussQ, RandGaussT, RandGeneral, RandLandau, RandPoisson, RandPoissonQ, RandPoissonT, RandStudentT


#include "CLHEP/Random/Stat.h"

Public Member Functions

No public constructor
static HepDouble erf(HepDouble x)
Defined in flatToGaussian.cc
static HepDouble erfQ(HepDouble x)
Quicker, and with less footprint, than erf and gaussianCDF but only accurate to 7 digits.
static HepDouble flatToGaussian (HepDouble r)
This is defined by the satement that if e() provides a uniform random on (0,1)
then flatToGaussian(e()) is distributed as a unit normal Gaussian.
That is, flatToGaussian is the inverse of the c.d.f. of a Gaussian.
Footprint: 30 K
Time: 150 cycles
static HepDouble inverseErf(HepDouble t)
Defined in flatToGaussian.cc
static HepDouble gammln(HepDouble x)

15 May 2000