41 GO4TRACE((15,
"TGo4MbsRandom::TGo4MbsRandom()",__LINE__, __FILE__));
52 GO4TRACE((15,
"TGo4MbsRandom::TGo4MbsRandom(TGo4MbsRandomParameter*)",__LINE__, __FILE__));
66 GO4TRACE((15,
"TGo4MbsRandom::TGo4MbsRandom(const char*)",__LINE__, __FILE__));
75 GO4TRACE((15,
"TGo4MbsRandom::~TGo4MbsRandom()",__LINE__, __FILE__));
81 GO4TRACE((12,
"TGo4MbsRandom::NextEvent()",__LINE__, __FILE__));
83 void* clearfield=(
void*) (
fxEvent+1);
84 size_t clearlen=
fiDLen*2 - 8;
85 memset(clearfield,0, clearlen);
95 int l_val_num = (int)(
get_int(1., 7.)+0.5);
104 subevt->
l_dlen=l_val_num*2+2;
108 Int_t* subdata= (Int_t*) (subevt+1);
110 for(Int_t j=0;j<l_val_num;++j)
125 GO4TRACE((12,
"TGo4MbsRandom::Open()",__LINE__, __FILE__));
137 fxEvent->i_subtype=1;
139 fxEvent->i_trigger=1;
150 GO4TRACE((12,
"TGo4MbsRandom::Close()",__LINE__, __FILE__));
178 double v1, v2, s, u1;
182 v1 = gRandom->Rndm();
183 return (log(1-v1)/sigma + mean);
194 v1 = 2.*gRandom->Rndm()-1.;
195 v2 = 2.*gRandom->Rndm()-1.;
198 }
while (s >= 1.0 || s == 0.0);
200 u1 = sigma*v1*(sqrt(-2.*log(s)/s)) + mean;
204 return (sigma*v2*(sqrt(-2.*log(s)/s)) + mean);
218 return ((high-low)*gRandom->Rndm()+low);
double p_dUniform(unsigned *seed)
long rand_event(long choice)
static double fgdSigma2[]
double p_dNormal(double mean, double sigma, unsigned int *seed)
double gauss_rnd(double mean, double sigma)
virtual Int_t NextEvent()
double p_dExponential(double lambda, unsigned int *seed)
virtual s_bufhe * GetBufferHeader()
double get_int(double low, double high)
static void Debug(const char *text,...)