]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliRndm.h
Replaced AliInfo with AliDebug
[u/mrichter/AliRoot.git] / STEER / AliRndm.h
index d3cb295f64bb371b758dcb0f9660dc989645904a..75cbfb42e9a13521ffad29e8a1aca2d13e963093 100644 (file)
 
 #include <TRandom.h>
 
-static TRandom *sRandom;
-
 class AliRndm 
 {
 public:
-  AliRndm() {SetRandom();}
-  virtual ~AliRndm() {fRandom=sRandom=0;}
+  AliRndm();
+  AliRndm(const AliRndm &rn);
+  virtual ~AliRndm() {fRandom=0;}
+  AliRndm & operator=(const AliRndm& rn) 
+    {rn.Copy(*this); return (*this);}
   
   // Random number generator bit
-  virtual void SetRandom(TRandom *ran=0);
+  virtual void SetRandom(TRandom *ran=0)
+  {if(ran) fRandom=ran;
+  else fRandom=gRandom;}
+
   virtual TRandom* GetRandom() const {return fRandom;}
-  virtual void Rndm(Float_t* array, const Int_t size) const; 
+  virtual void Rndm(Float_t* array, Int_t size) const; 
 #ifdef CKNONE
   virtual Float_t Rndm() const {return fRandom->Rndm();}
 #else
@@ -35,12 +39,11 @@ public:
   virtual void WriteRandom(const char *filename) const;
   virtual void ReadRandom(const char *filename);
 
-  protected:
+protected:
   TRandom *fRandom;       // Pointer to the random number generator
 
-  private:
-  AliRndm(const AliRndm &) {}
-  AliRndm & operator=(const AliRndm &) {return (*this);}
+private:
+  void Copy(AliRndm &rn) const;
 
   ClassDef(AliRndm,1)  //Random Number generator wrapper
 };