RandBreitWigner


Class defining methods for shooting numbers according to the Breit-Wigner distribution algorithms (plain or mean^2).
Default values are set: mean=1, gamma=.2, cut=1.
Plain algorithm is used for shootArray() and fireArray().
Plain algorithm with default values is used for operator()().

Author

Gabriele Cosmo

See also

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

Distributions: HepRandom, RandBinomial RandBreitWigner RandChiSquare RandExponential RandFlat RandGamma RandGauss RandGeneral RandPoisson RandStudentT

Declaration

#include "CLHEP/Random/RandBreitWigner.h"

class RandBreitWigner : public HepRandom

Public Member Functions

Constructors
inline RandBreitWigner(HepRandomEngine& anEngine, HepDouble a=1.0, HepDouble b=0.2)
inline RandBreitWigner(HepRandomEngine* anEngine, HepDouble a=1.0, HepDouble b=0.2)
These constructors should be used to instantiate a RandBreitWigner distribution object defining a local engine for it.
The static generator will be skeeped using the non-static methods defined below.
If the engine is passed by pointer the corresponding engine object will be deleted by the RandBreitWigner destructor.
If the engine is passed by reference the corresponding engine object will not be deleted by the RandBreitWigner destructor.
Destructor
virtual ~RandBreitWigner()
()
HepDouble operator()()
HepDouble operator()(HepDouble a, HepDouble b)
HepDouble operator()(HepDouble a, HepDouble b, HepDouble c)
Methods using the localEngine to shoot random values, by-passing the static generator.
These methods respect distribution parameters passed by the user at instantiation unless superseded by actual arguments in the call.
fire
HepDouble fire()
HepDouble fire(HepDouble a, HepDouble b)
HepDouble fire(HepDouble a, HepDouble b,HepDouble c)
Methods using the localEngine to shoot random values, by-passing the static generator.
These methods respect distribution parameters passed by the user at instantiation unless superseded by actual arguments in the call.
fireArray
void fireArray(const HepInt size, HepDouble* vect)
void fireArray(const HepInt size, HepDouble* vect, HepDouble a, HepDouble b )
void fireArray(const HepInt size, HepDouble* vect, HepDouble a, HepDouble b, HepDouble c)
Methods using the localEngine to shoot random values, by-passing the static generator.
These methods respect distribution parameters passed by the user at instantiation unless superseded by actual arguments in the call.
fireM2
HepDouble fireM2()
HepDouble fireM2(HepDouble a, HepDouble b)
HepDouble fireM2(HepDouble a, HepDouble b, HepDouble c)
Methods using the localEngine to shoot random values, by-passing the static generator.
These methods respect distribution parameters passed by the user at instantiation unless superseded by actual arguments in the call.
shoot
static HepDouble shoot(HepDouble a=1.0, HepDouble b=0.2 )
static HepDouble shoot(HepDouble a, HepDouble b, HepDouble c)
Static methods to shoot random values using the static generator.

static HepDouble shoot(HepRandomEngine* anEngine, HepDouble a=1.0, HepDouble=0.2)
static HepDouble shoot(HepRandomEngine* anEngine, HepDouble a, HepDouble b, HepDouble c)
Static methods to shoot random values using a given engine by-passing the static generator.
shootArray
static void shootArray(const HepInt size, HepDouble* vect)
static void shootArray(const HepInt size, HepDouble* vect, HepDouble a, HepDouble b)
static void shootArray(const HepInt size, HepDouble* vect, HepDouble a, HepDouble b, HepDouble c)
Static methods to shoot random values using the static generator.

static void shootArray(HepRandomEngine* anEngine, const HepInt size, HepDouble* vect)
static void shootArray(HepRandomEngine* anEngine, const HepInt size, HepDouble* vect, HepDouble a, HepDouble b)
static void shootArray(HepRandomEngine* anEngine, const HepInt size, HepDouble* vect, HepDouble a, HepDouble b, HepDouble c)
Static method to shoot random values using a given engine by-passing the static generator.
shootM2
static HepDouble shootM2(HepDouble a=1.0, HepDouble b=0.2)
static HepDouble shootM2(HepDouble a, HepDouble b, HepDouble c)
Static methods to shoot random values using the static generator.

static HepDouble shootM2(HepRandomEngine* anEngine, HepDouble a=1.0, HepDouble b=0.2)
static HepDouble shootM2(HepRandomEngine* anEngine, HepDouble a, HepDouble b, HepDouble c)
Static methods to shoot random values using a given engine by-passing the static generator.

Example

CLHEP/test/testRandom.cc


04 May 1999
EVC