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 // get the current seed (only first element of the seed table)
37 virtual UInt_t GetSeed() const { return fMt[0];}
38 using TRandom::Rndm;
39 virtual Double_t Rndm( );
40 virtual void RndmArray(Int_t n, Float_t *array);
41 virtual void RndmArray(Int_t n, Double_t *array);
42 virtual void SetSeed(ULong_t seed=0);
43
44 ClassDef(TRandom3,2) //Random number generator: Mersenne Twister
45};
46
48
49#endif
#define R__EXTERN
Definition: DllImport.h:27
int Int_t
Definition: RtypesCore.h:43
unsigned long ULong_t
Definition: RtypesCore.h:53
double Double_t
Definition: RtypesCore.h:57
float Float_t
Definition: RtypesCore.h:55
#define ClassDef(name, id)
Definition: Rtypes.h:322
R__EXTERN TRandom * gRandom
Definition: TRandom3.h:47
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:144
UInt_t fMt[624]
Definition: TRandom3.h:30
virtual UInt_t GetSeed() const
Definition: TRandom3.h:37
virtual ~TRandom3()
Default destructor.
Definition: TRandom3.cxx:91
TRandom3(UInt_t seed=4357)
Default constructor If seed is 0, the seed is automatically computed via a TUUID object.
Definition: TRandom3.cxx:81
Int_t fCount624
Definition: TRandom3.h:31
virtual Double_t Rndm()
Machine independent random number generator.
Definition: TRandom3.cxx:100
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:207
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:541
const Int_t n
Definition: legend1.C:16