ROOT 6.13/01 Reference Guide |
Random number generator class based on the maximally quidistributed combined Tausworthe generator by L'Ecuyer.
The period of the generator is 2**88 (about 10**26) and it uses only 3 words for the state.
For more information see: P. L'Ecuyer, Mathematics of Computation, 65, 213 (1996) P. L'Ecuyer, Mathematics of Computation, 68, 225 (1999)
The publication are available online at [http://www.iro.umontreal.ca/~lecuyer/myftp/papers/tausme.ps] [http://www.iro.umontreal.ca/~lecuyer/myftp/papers/tausme2.ps]
Definition at line 27 of file TRandom2.h.
Public Member Functions | |
TRandom2 (UInt_t seed=1) | |
Default constructor. More... | |
virtual | ~TRandom2 () |
Default destructor. More... | |
virtual Double_t | Rndm () |
TausWorth generator from L'Ecuyer, uses as seed 3x32bits integers Use a mask of 0xffffffffUL to make in work on 64 bit machines Periodicity of about 10**26 Generate number in interval (0,1) : 0 and 1 are not included in the interval. More... | |
virtual void | RndmArray (Int_t n, Float_t *array) |
Return an array of n random numbers uniformly distributed in ]0,1]. More... | |
virtual void | RndmArray (Int_t n, Double_t *array) |
Return an array of n random numbers uniformly distributed in ]0,1]. More... | |
virtual void | SetSeed (ULong_t seed=0) |
Set the generator seed. More... | |
Public Member Functions inherited from TRandom | |
TRandom (UInt_t seed=65539) | |
Default constructor. For seed see SetSeed(). More... | |
virtual | ~TRandom () |
Default destructor. More... | |
virtual Int_t | Binomial (Int_t ntot, Double_t prob) |
Generates a random integer N according to the binomial law. More... | |
virtual Double_t | BreitWigner (Double_t mean=0, Double_t gamma=1) |
Return a number distributed following a BreitWigner function with mean and gamma. More... | |
virtual void | Circle (Double_t &x, Double_t &y, Double_t r) |
Generates random vectors, uniformly distributed over a circle of given radius. More... | |
virtual Double_t | Exp (Double_t tau) |
Returns an exponential deviate. More... | |
virtual Double_t | Gaus (Double_t mean=0, Double_t sigma=1) |
Samples a random number from the standard Normal (Gaussian) Distribution with the given mean and sigma. More... | |
virtual UInt_t | GetSeed () const |
virtual UInt_t | Integer (UInt_t imax) |
Returns a random integer on [ 0, imax-1 ]. More... | |
virtual Double_t | Landau (Double_t mean=0, Double_t sigma=1) |
Generate a random number following a Landau distribution with location parameter mu and scale parameter sigma: Landau( (x-mu)/sigma ) Note that mu is not the mpv(most probable value) of the Landa distribution and sigma is not the standard deviation of the distribution which is not defined. More... | |
virtual Int_t | Poisson (Double_t mean) |
Generates a random integer N according to a Poisson law. More... | |
virtual Double_t | PoissonD (Double_t mean) |
Generates a random number according to a Poisson law. More... | |
virtual void | Rannor (Float_t &a, Float_t &b) |
Return 2 numbers distributed following a gaussian with mean=0 and sigma=1. More... | |
virtual void | Rannor (Double_t &a, Double_t &b) |
Return 2 numbers distributed following a gaussian with mean=0 and sigma=1. More... | |
virtual void | ReadRandom (const char *filename) |
Reads saved random generator status from filename. More... | |
virtual Double_t | Rndm (Int_t) |
virtual void | Sphere (Double_t &x, Double_t &y, Double_t &z, Double_t r) |
Generates random vectors, uniformly distributed over the surface of a sphere of given radius. More... | |
virtual Double_t | Uniform (Double_t x1=1) |
Returns a uniform deviate on the interval (0, x1). More... | |
virtual Double_t | Uniform (Double_t x1, Double_t x2) |
Returns a uniform deviate on the interval (x1, x2). More... | |
virtual void | WriteRandom (const char *filename) const |
Writes random generator status to filename. More... | |
Public Member Functions inherited from ROOT::Math::TRandomEngine | |
virtual | ~TRandomEngine () |
Protected Attributes | |
UInt_t | fSeed1 |
UInt_t | fSeed2 |
Protected Attributes inherited from TRandom | |
UInt_t | fSeed |
#include <TRandom2.h>
TRandom2::TRandom2 | ( | UInt_t | seed = 1 | ) |
Default constructor.
Definition at line 36 of file TRandom2.cxx.
|
virtual |
Default destructor.
Definition at line 46 of file TRandom2.cxx.
|
virtual |
TausWorth generator from L'Ecuyer, uses as seed 3x32bits integers Use a mask of 0xffffffffUL to make in work on 64 bit machines Periodicity of about 10**26 Generate number in interval (0,1) : 0 and 1 are not included in the interval.
Reimplemented from TRandom.
Definition at line 56 of file TRandom2.cxx.
|
virtual |
Return an array of n random numbers uniformly distributed in ]0,1].
Reimplemented from TRandom.
Definition at line 75 of file TRandom2.cxx.
|
virtual |
Return an array of n random numbers uniformly distributed in ]0,1].
Reimplemented from TRandom.
Definition at line 95 of file TRandom2.cxx.
|
virtual |
Set the generator seed.
If the seed given is zero, generate automatically seed values which are different every time by using TRandom3 and TUUID If a seed is given generate the other two needed for the generator state using a linear congruential generator The only condition, stated at the end of the 1999 L'Ecuyer paper is that the seeds must be greater than 1,7 and 15.
Reimplemented from TRandom.
Definition at line 120 of file TRandom2.cxx.
|
protected |
Definition at line 30 of file TRandom2.h.
|
protected |
Definition at line 31 of file TRandom2.h.