Logo ROOT   6.13/01
Reference Guide
List of all members | Public Member Functions | Protected Attributes | List of all members
TRandomGen< Engine > Class Template Reference

template<class Engine>
class TRandomGen< Engine >

Definition at line 46 of file TRandomGen.h.

Public Member Functions

 TRandomGen (ULong_t seed=1)
 
virtual ~TRandomGen ()
 
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 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

Engine fEngine
 
- Protected Attributes inherited from TRandom
UInt_t fSeed
 

#include <TRandomGen.h>

Inheritance diagram for TRandomGen< Engine >:
[legend]

Constructor & Destructor Documentation

◆ TRandomGen()

template<class Engine >
TRandomGen< Engine >::TRandomGen ( ULong_t  seed = 1)
inline

Definition at line 53 of file TRandomGen.h.

◆ ~TRandomGen()

template<class Engine >
virtual TRandomGen< Engine >::~TRandomGen ( )
inlinevirtual

Definition at line 58 of file TRandomGen.h.

Member Function Documentation

◆ Rndm()

template<class Engine >
virtual Double_t TRandomGen< Engine >::Rndm ( )
inlinevirtual

Machine independent random number generator.

Based on the BSD Unix (Rand) Linear congrential generator. Produces uniformly-distributed floating points between 0 and 1. Identical sequence on all machines of >= 32 bits. Periodicity = 2**31, generates a number in (0,1). Note that this is a generator which is known to have defects (the lower random bits are correlated) and therefore should NOT be used in any statistical study).

Reimplemented from TRandom.

Definition at line 60 of file TRandomGen.h.

◆ RndmArray() [1/2]

template<class Engine >
virtual void TRandomGen< Engine >::RndmArray ( Int_t  n,
Float_t *  array 
)
inlinevirtual

Return an array of n random numbers uniformly distributed in ]0,1].

Reimplemented from TRandom.

Definition at line 61 of file TRandomGen.h.

◆ RndmArray() [2/2]

template<class Engine >
virtual void TRandomGen< Engine >::RndmArray ( Int_t  n,
Double_t *  array 
)
inlinevirtual

Return an array of n random numbers uniformly distributed in ]0,1].

Reimplemented from TRandom.

Definition at line 64 of file TRandomGen.h.

◆ SetSeed()

template<class Engine >
virtual void TRandomGen< Engine >::SetSeed ( ULong_t  seed = 0)
inlinevirtual

Set the random generator seed.

Note that default value is zero, which is different than the default value used when constructing the class. If the seed is zero the seed is set to a random value which in case of TRandom depends on the lowest 4 bytes of TUUID The UUID will be identical if SetSeed(0) is called with time smaller than 100 ns Instead if a different generator implementation is used (TRandom1, 2 or 3) the seed is generated using a 128 bit UUID. This results in different seeds and then random sequence for every SetSeed(0) call.

Reimplemented from TRandom.

Definition at line 67 of file TRandomGen.h.

Member Data Documentation

◆ fEngine

template<class Engine >
Engine TRandomGen< Engine >::fEngine
protected

Definition at line 50 of file TRandomGen.h.

Libraries for TRandomGen< Engine >:
[legend]

The documentation for this class was generated from the following file: