Transition to NewIO
[u/mrichter/AliRoot.git] / STEER / AliRndm.h
index f446b78..8049843 100644 (file)
 
 #include <TRandom.h>
 
-static TRandom *sRandom;
-
 class AliRndm 
 {
 public:
-  AliRndm() {SetRandom();}
-  virtual ~AliRndm() {fRandom=sRandom=0;}
+  AliRndm();
+  AliRndm(const AliRndm &);
+  virtual ~AliRndm() {fRandom=0;}
+  AliRndm & operator=(const AliRndm& rn) 
+    {rn.Copy(*this); return (*this);}
   
   // Random number generator bit
   virtual void SetRandom(TRandom *ran=0)
   {if(ran) fRandom=ran;
-  else fRandom=sRandom=gRandom;}
+  else fRandom=gRandom;}
 
   virtual TRandom* GetRandom() const {return fRandom;}
   virtual void Rndm(Float_t* array, const Int_t size) const; 
@@ -38,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
 };