RandLandau


Class defining methods for shooting or firing Landau distributed random values.

The Landau distribution is parameterless and describes the fluctuations in energy loss of a particle, making certain assumptions. For definitions and algorithms, the following papers could be read:

Landau, Jour Phys VIII, No. 4, p. 201 (1944)
Borsh-Supan, Jour Res. of NBS 65B NO. 4 p. 245 (1961)
Kolbig & Schorr Comp Phys Comm 31 p. 97 (1984)

The algorithm implemented comes form RANLAN in CERNLIB.

Author

Mark Fischler

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, RandPoisson, RandPoissonQ, RandPoissonT, RandStudentT

Functions: HepStat

Declaration

#include "CLHEP/Random/RandLandau.h"

class RandLandau : public HepRandom

Public Member Functions

Constructors
inline RandLandau(HepRandomEngine& anEngine)
inline RandLandau(HepRandomEngine* anEngine)
These constructors should be used to instantiate a RandLandau distribution object defining a local engine for it.
The static generator will be skipped using the non-static methods defined below.
If the engine is passed by pointer the corresponding engine object will be deleted by the RandLandau destructor.
If the engine is passed by reference the corresponding engine object will not be deleted by the RandLandau destructor.
Destructor
virtual ~RandLandau()
()
inline HepDouble operator()()
Instance method using the localEngine to instead of the static generator, and the default mean and stdDev established at cons static void shootArray ( const HepInt size, HepDouble* vect ); truction.
fire
inline HepDouble fire()
Instance method using the localEngine to instead of the static generator, and the default mean and stdDev established at construction.
fireArray
void fireArray(const HepInt size, HepDouble* vect)
Instance method using the localEngine to instead of the static generator, and the default mean and stdDev established at construction.
shoot
static inline HepDouble shoot()
Static method to shoot random values using the static generator.

static inline HepDouble shoot(HepRandomEngine* anotherEngine)
Static method to shoot random values using a given engine by-passing the static generator.
shootArray
static void shootArray( const HepInt size, HepDouble* vect)
Static method to shoot random values using the static generator.

static void shootArray(HepRandomEngine* anotherEngine, const HepInt size, HepDouble* vect)
Static method to shoot random values using a given engine by-passing the static generator.


16 May 2000
EVC