39 if( (seed<2) | (seed1<8) | (seed2<16) ){
41 cerr <<
"*********************************************************" << endl;
42 cerr <<
"WARNING: Random seeds passed to DRandom2::SetSeeds have" << endl;
43 cerr <<
"forbidden values: " << endl;
44 cerr <<
" seed = " << seed <<
" (must be at least 2)" <<endl;
45 cerr <<
" seed1 = " << seed1 <<
" (must be at least 8)" <<endl;
46 cerr <<
" seed1 = " << seed2 <<
" (must be at least 16)" <<endl;
47 cerr <<
"See comments in source for TRandom2::SetSeed(int)" <<endl;
48 cerr <<
"The seeds will all be adjusted to be in range." <<endl;
49 cerr <<
"*********************************************************" << endl;
64 return Gaus(0.0, sigma);
68 return Poisson(lambda);
84 f = xlo + s*(xhi-xlo);
96 const double maxAbsDiff = 1.e-8;
102 if( fabs(prob - 0.0) < maxAbsDiff )
132 const double maxRelDiff = 1.e-8;
134 double diff = fabs(a-b);
137 double largest = (b > a) ? b : a;
139 if(diff <= largest*maxRelDiff)
146 #endif // _DRANDOM2_H_
bool AlmostEqual(double a, double b)
void SetSeeds(UInt_t &seed, UInt_t &seed1, UInt_t &seed2)
double SampleGaussian(double sigma)
Double_t sigma[NCHANNELS]
double SampleRange(double x1, double x2)
bool DecideToAcceptHit(double prob)
void GetSeeds(UInt_t &seed, UInt_t &seed1, UInt_t &seed2)
double SamplePoisson(double lambda)