Class defining methods for shooting gamma distributed random values,
given a k (default=1) and specifying also a
lambda (default=1).
Default values are used for operator()().
Valid input values are k > 0 and lambda > 0.
When invalid values are presented, the code silently returns -1.0.
Author
John Marraffino
See also
Engines:
HepRandomEngine,
DRand48Engine ,
DualRand,
HepJamesRandom,
Hurd160Engine,
Hurd288Engine,
MTwistEngine,
RandEngine,
RanecuEngine,
RanluxEngine,
Ranlux64Engine,
RanshiEngine,
TripleRand
Distributions:
HepRandom,
RandBinomial,
RandBit,
RandBreitWigner,
RandChiSquare,
RandExponential,
RandFlat,
RandGauss,
RandGaussQ,
RandGaussT,
RandGeneral,
RandLandau,
RandPoisson,
RandPoissonQ,
RandPoissonT,
RandStudentT
Functions:
HepStat
Declaration
#include "CLHEP/Random/RandGamma.h"
class RandGamma : public HepRandom
Public Member Functions
- Constructors
- inline RandGamma(HepRandomEngine& anEngine, HepDouble k=1.0,
HepDouble lambda=1.0)
- inline RandGamma(HepRandomEngine* anEngine, HepDouble k=1.0,
HepDouble lambda=1.0)
- These constructors should be used to instantiate a
RandGamma 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 RandGamma destructor.
- If the engine is passed by reference the corresponding engine object
will not be deleted by the RandGamma destructor.
- Destructor
- virtual ~RandGamma()
- ()
- inline HepDouble operator()()
- inline HepDouble operator()(long n, HepDouble p)
- Methods using the localEngine to shoot random values, by-passing
the static generator.
- fire
- inline HepDouble fire()
- HepDouble fire(HepDouble k, HepDouble lambda)
- Methods using the localEngine to shoot random values, by-passing
the static generator.
- fireArray
- void fireArray(const HepInt size, HepDouble* vect)
- void fireArray(const HepInt size, HepDouble* vect,
HepDouble k, HepDouble lambda)
- Methods using the localEngine to shoot random values, by-passing
the static generator.
- shoot
- static inline HepDouble shoot()
- static HepDouble shoot(HepDouble k, HepDouble lambda)
- Static methods to shoot random values using the static generator
- static inline HepDouble shoot(HepRandomEngine* anEngine)
- static HepDouble shoot(HepRandomEngine* anEngine,
HepDouble k, HepDouble lambda)
- Static methods to shoot random values using a given engine
by-passing the static generator.
- shootArray
- static void shootArray(const HepInt size, HepDouble* vect,
HepDouble k=1.0, HepDouble lambda=1.0)
- Static method to shoot random values using the static generator
- static void shootArray(HepRandomEngine* anEngine, const HepInt size,
HepDouble* vect, HepDouble k=1.0, HepDouble lambda=1.0)
- Static method to shoot random values using a given engine
by-passing the static generator.
Example
CLHEP/test/testRandom.cc
15 May 2000
EVC