ROOT logo
#ifndef ALIRNDM_H
#define ALIRNDM_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id$ */

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//   Random Number Interface                                                 //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

#include <TRandom.h>

class AliRndm 
{
public:
  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)
  {if(ran) fRandom=ran;
  else fRandom=gRandom;}

  virtual TRandom* GetRandom() const {return fRandom;}
  virtual void Rndm(Float_t* array, Int_t size) const; 
#ifdef CKNONE
  virtual Float_t Rndm() const {return fRandom->Rndm();}
#else
  virtual Float_t Rndm() const {
    Float_t r;
    do r=fRandom->Rndm(); while(0>=r || r>=1); return r;}
#endif
  virtual void WriteRandom(const char *filename) const;
  virtual void ReadRandom(const char *filename);

protected:
  TRandom *fRandom;       //! Pointer to the random number generator

private:
  void Copy(AliRndm &rn) const;

  ClassDef(AliRndm,2)  //Random Number generator wrapper
};

#endif 

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