41 TRandom* RooRandom::_theGenerator = 0;
42 RooQuasiRandomGenerator* RooRandom::_theQuasiGenerator = 0;
43 RooRandom::Guard RooRandom::guard;
47 RooRandom::Guard::~Guard()
48 {
delete RooRandom::_theGenerator;
delete RooRandom::_theQuasiGenerator; }
54 TRandom *RooRandom::randomGenerator()
56 if (!_theGenerator) _theGenerator=
new TRandom3();
64 void RooRandom::setRandomGenerator(TRandom* gen)
66 if (_theGenerator)
delete _theGenerator;
74 RooQuasiRandomGenerator *RooRandom::quasiGenerator()
76 if(!_theQuasiGenerator) _theQuasiGenerator=
new RooQuasiRandomGenerator();
77 return _theQuasiGenerator;
84 Double_t RooRandom::uniform(TRandom *generator)
86 return generator->Rndm();
93 void RooRandom::uniform(UInt_t dimension, Double_t vector[], TRandom *generator)
95 generator->RndmArray(dimension, vector);
102 UInt_t RooRandom::integer(UInt_t n, TRandom *generator)
104 return generator->Integer(n);
111 Double_t RooRandom::gaussian(TRandom *generator)
113 return generator->Gaus();
122 Bool_t RooRandom::quasi(UInt_t dimension, Double_t vector[], RooQuasiRandomGenerator *generator)
124 return generator->generate(dimension,vector);