ROOT 6.13/01 Reference Guide |
Random number generator class based on M.
Matsumoto and T. Nishimura, Mersenne Twister: A 623-diminsionally equidistributed uniform pseudorandom number generator ACM Transactions on Modeling and Computer Simulation, Vol. 8, No. 1, January 1998, pp 3–30.
For more information see the Mersenne Twister homepage [http://www.math.keio.ac.jp/~matumoto/emt.html]
Advantage:
Drawback:
An altenativly excellent generator passing all tests of TestU01, having 61 random bits and fast as Mersenne and Twister is MIXMAX (TRandomMixMax).
Definition at line 27 of file TRandom3.h.
Public Member Functions | |
TRandom3 (UInt_t seed=4357) | |
Default constructor If seed is 0, the seed is automatically computed via a TUUID object. More... | |
virtual | ~TRandom3 () |
Default destructor. More... | |
virtual UInt_t | GetSeed () const |
virtual Double_t | Rndm () |
Machine independent random number generator. 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 random generator sequence if seed is 0 (default value) a TUUID is generated and used to fill the first 8 integers of the seed array. 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 | 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 () |
Private Attributes | |
Int_t | fCount624 |
UInt_t | fMt [624] |
Additional Inherited Members | |
Protected Attributes inherited from TRandom | |
UInt_t | fSeed |
#include <TRandom3.h>
TRandom3::TRandom3 | ( | UInt_t | seed = 4357 | ) |
Default constructor If seed is 0, the seed is automatically computed via a TUUID object.
In this case the seed is guaranteed to be unique in space and time.
Definition at line 81 of file TRandom3.cxx.
|
virtual |
Default destructor.
Definition at line 91 of file TRandom3.cxx.
|
inlinevirtual |
Reimplemented from TRandom.
Definition at line 37 of file TRandom3.h.
|
virtual |
Machine independent random number generator.
Produces uniformly-distributed floating points in (0,1) Method: Mersenne Twister
Reimplemented from TRandom.
Definition at line 100 of file TRandom3.cxx.
|
virtual |
Return an array of n random numbers uniformly distributed in ]0,1].
Reimplemented from TRandom.
Definition at line 144 of file TRandom3.cxx.
|
virtual |
Return an array of n random numbers uniformly distributed in ]0,1].
Reimplemented from TRandom.
Definition at line 152 of file TRandom3.cxx.
|
virtual |
Set the random generator sequence if seed is 0 (default value) a TUUID is generated and used to fill the first 8 integers of the seed array.
In this case the seed is guaranteed to be unique in space and time. Use upgraded seeding procedure to fix a known problem when seeding with values with many zero in the bit pattern (like 2**28). see http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html
Reimplemented from TRandom.
Definition at line 207 of file TRandom3.cxx.
|
private |
Definition at line 31 of file TRandom3.h.
|
private |
Definition at line 30 of file TRandom3.h.