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
RandBreitWigner
RandChiSquare
RandExponential
RandFlat
RandGauss
RandGeneral
RandPoisson
RandStudentT
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
04 May 1999
EVC