3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 ///////////////////////////////////////////////////////////////////////////////
10 // Random Number Interface //
12 ///////////////////////////////////////////////////////////////////////////////
16 static TRandom *sRandom;
21 AliRndm() {SetRandom();}
22 virtual ~AliRndm() {fRandom=sRandom=0;}
24 // Random number generator bit
25 virtual void SetRandom(TRandom *ran=0)
26 {if(ran) fRandom=sRandom=ran;
27 else fRandom=sRandom=gRandom;}
29 virtual TRandom* GetRandom() const {return fRandom;}
30 virtual void Rndm(Float_t* array, const Int_t size) const;
32 virtual Float_t Rndm() const {return fRandom->Rndm();}
34 virtual Float_t Rndm() const {
36 do r=fRandom->Rndm(); while(0>=r || r>=1); return r;}
38 virtual void WriteRandom(const char *filename) const;
39 virtual void ReadRandom(const char *filename);
42 TRandom *fRandom; // Pointer to the random number generator
45 AliRndm(const AliRndm &) {}
46 AliRndm & operator=(const AliRndm &) {return (*this);}
48 ClassDef(AliRndm,1) //Random Number generator wrapper