ROOT logo
// @(#)root/mathcore:$Id: TRandom3.h 39600 2011-06-08 13:04:37Z moneta $
// Author: Peter Malzacher   31/08/99

/*************************************************************************
 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TRandom3
#define ROOT_TRandom3



//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TRandom3                                                             //
//                                                                      //
// random number generator class: Mersenne Twistor                      //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TRandom
#include "TRandom.h"
#endif

class TRandom3 : public TRandom {

private:
   UInt_t   fMt[624];
   Int_t    fCount624;

public:
   TRandom3(UInt_t seed=4357);
   virtual ~TRandom3();
   // get the current seed (only first element of the seed table)
   virtual  UInt_t    GetSeed() const { return fMt[0];}
   virtual  Double_t  Rndm(Int_t i=0);
   virtual  void      RndmArray(Int_t n, Float_t *array);
   virtual  void      RndmArray(Int_t n, Double_t *array);
   virtual  void      SetSeed(UInt_t seed=0);

   ClassDef(TRandom3,2)  //Random number generator: Mersenne Twistor
};

R__EXTERN TRandom *gRandom;

#endif
 TRandom3.h:1
 TRandom3.h:2
 TRandom3.h:3
 TRandom3.h:4
 TRandom3.h:5
 TRandom3.h:6
 TRandom3.h:7
 TRandom3.h:8
 TRandom3.h:9
 TRandom3.h:10
 TRandom3.h:11
 TRandom3.h:12
 TRandom3.h:13
 TRandom3.h:14
 TRandom3.h:15
 TRandom3.h:16
 TRandom3.h:17
 TRandom3.h:18
 TRandom3.h:19
 TRandom3.h:20
 TRandom3.h:21
 TRandom3.h:22
 TRandom3.h:23
 TRandom3.h:24
 TRandom3.h:25
 TRandom3.h:26
 TRandom3.h:27
 TRandom3.h:28
 TRandom3.h:29
 TRandom3.h:30
 TRandom3.h:31
 TRandom3.h:32
 TRandom3.h:33
 TRandom3.h:34
 TRandom3.h:35
 TRandom3.h:36
 TRandom3.h:37
 TRandom3.h:38
 TRandom3.h:39
 TRandom3.h:40
 TRandom3.h:41
 TRandom3.h:42
 TRandom3.h:43
 TRandom3.h:44
 TRandom3.h:45
 TRandom3.h:46
 TRandom3.h:47
 TRandom3.h:48
 TRandom3.h:49
 TRandom3.h:50