Logo ROOT  
Reference Guide
TRandom3.h
Go to the documentation of this file.
1// @(#)root/mathcore:$Id$
2// Author: Peter Malzacher 31/08/99
3
4/*************************************************************************
5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TRandom3
13#define ROOT_TRandom3
14
15
16
17//////////////////////////////////////////////////////////////////////////
18// //
19// TRandom3 //
20// //
21// random number generator class: Mersenne Twister //
22// //
23//////////////////////////////////////////////////////////////////////////
24
25#include "TRandom.h"
26
27class TRandom3 : public TRandom {
28
29private:
30 UInt_t fMt[624];
32
33public:
34 TRandom3(UInt_t seed=4357);
35 virtual ~TRandom3();
36 /// return current element of the state used for generate the random number
37 /// Note that it is not the seed of the generator that was used in the SetSeed function
38 virtual UInt_t GetSeed() const { return fMt[fCount624];}
39 using TRandom::Rndm;
40 virtual Double_t Rndm( );
41 virtual void RndmArray(Int_t n, Float_t *array);
42 virtual void RndmArray(Int_t n, Double_t *array);
43 virtual void SetSeed(ULong_t seed=0);
44 virtual const UInt_t *GetState() const { return fMt; }
45
46 ClassDef(TRandom3,2) //Random number generator: Mersenne Twister
47};
48
50
51#endif
#define R__EXTERN
Definition: DllImport.h:27
int Int_t
Definition: RtypesCore.h:45
unsigned int UInt_t
Definition: RtypesCore.h:46
unsigned long ULong_t
Definition: RtypesCore.h:55
double Double_t
Definition: RtypesCore.h:59
float Float_t
Definition: RtypesCore.h:57
#define ClassDef(name, id)
Definition: Rtypes.h:325
R__EXTERN TRandom * gRandom
Definition: TRandom3.h:49
Random number generator class based on M.
Definition: TRandom3.h:27
virtual void RndmArray(Int_t n, Float_t *array)
Return an array of n random numbers uniformly distributed in ]0,1].
Definition: TRandom3.cxx:143
UInt_t fMt[624]
Definition: TRandom3.h:30
virtual UInt_t GetSeed() const
return current element of the state used for generate the random number Note that it is not the seed ...
Definition: TRandom3.h:38
virtual ~TRandom3()
Default destructor.
Definition: TRandom3.cxx:90
TRandom3(UInt_t seed=4357)
Default constructor If seed is 0, the seed is automatically computed via a TUUID object.
Definition: TRandom3.cxx:80
Int_t fCount624
Definition: TRandom3.h:31
virtual Double_t Rndm()
Machine independent random number generator.
Definition: TRandom3.cxx:99
virtual const UInt_t * GetState() const
Definition: TRandom3.h:44
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 ...
Definition: TRandom3.cxx:206
This is the base class for the ROOT Random number generators.
Definition: TRandom.h:27
virtual Double_t Rndm()
Machine independent random number generator.
Definition: TRandom.cxx:552
const Int_t n
Definition: legend1.C:16