#include <TGo4MbsRandom.h>
Public Member Functions | |
TGo4MbsRandom (const char *name) | |
TGo4MbsRandom () | |
TGo4MbsRandom (TGo4MbsRandomParameter *par) | |
virtual | ~TGo4MbsRandom () |
virtual Int_t | Close () |
virtual Int_t | Open () |
virtual Int_t | NextEvent () |
virtual s_bufhe * | GetBufferHeader () |
Private Member Functions | |
void | get_rand_seed () |
double | gauss_rnd (double mean, double sigma) |
double | get_int (double low, double high) |
long | rand_event (long choice) |
Private Attributes | |
Int_t | fiDLen |
Int_t | fiNumSub |
Int_t | fiNumDat |
Short_t * | fxEventMem |
UInt_t | fuSeed |
Static Private Attributes | |
static double | fgdPeak [] = { 200., 302., 653., 1024., 2800.} |
static double | fgdSigma [] = { 10., 22., 153., 104., 38.} |
static double | fgdPeak2 [] = { 300., 402., 853., 2000., 3024.} |
static double | fgdSigma2 [] = { 22., 153., 104., 100., 20.} |
Implements a random generator as source for mbs events. Produces events with 2 subevents containing gaussian spectra
Definition at line 29 of file TGo4MbsRandom.h.
TGo4MbsRandom::TGo4MbsRandom | ( | const char * | name | ) |
Definition at line 59 of file TGo4MbsRandom.cxx.
References TGo4Log::Debug(), GO4TRACE, and Open().
TGo4MbsRandom::TGo4MbsRandom | ( | ) |
Definition at line 34 of file TGo4MbsRandom.cxx.
References GO4TRACE.
TGo4MbsRandom::TGo4MbsRandom | ( | TGo4MbsRandomParameter * | par | ) |
Definition at line 45 of file TGo4MbsRandom.cxx.
References TGo4Log::Debug(), GO4TRACE, and Open().
TGo4MbsRandom::~TGo4MbsRandom | ( | ) | [virtual] |
Definition at line 73 of file TGo4MbsRandom.cxx.
Int_t TGo4MbsRandom::Close | ( | ) | [virtual] |
Close the file or connection.
Reimplemented from TGo4MbsSource.
Definition at line 148 of file TGo4MbsRandom.cxx.
References TGo4MbsSource::fbIsOpen, TGo4MbsSource::fxEvent, fxEventMem, and GO4TRACE.
Referenced by ~TGo4MbsRandom().
double TGo4MbsRandom::gauss_rnd | ( | double | mean, | |
double | sigma | |||
) | [private] |
Definition at line 174 of file TGo4MbsRandom.cxx.
Referenced by rand_event().
double TGo4MbsRandom::get_int | ( | double | low, | |
double | high | |||
) | [private] |
Definition at line 215 of file TGo4MbsRandom.cxx.
Referenced by NextEvent(), and rand_event().
void TGo4MbsRandom::get_rand_seed | ( | ) | [private] |
s_bufhe * TGo4MbsRandom::GetBufferHeader | ( | ) | [virtual] |
User access to current event buffer header. dummy here!
Reimplemented from TGo4MbsSource.
Definition at line 261 of file TGo4MbsRandom.cxx.
Int_t TGo4MbsRandom::NextEvent | ( | ) | [virtual] |
Requests the next event from mbs source. Returns event status value.
Reimplemented from TGo4MbsSource.
Definition at line 79 of file TGo4MbsRandom.cxx.
References fiDLen, fiNumDat, fiNumSub, TGo4MbsSource::fxEvent, get_int(), GO4TRACE, s_ves10_1::h_control, s_ves10_1::h_subcrate, s_ves10_1::i_procid, s_ves10_1::i_subtype, s_ves10_1::i_type, s_ve10_1::l_count, s_ves10_1::l_dlen, s_ve10_1::l_dlen, and rand_event().
Int_t TGo4MbsRandom::Open | ( | ) | [virtual] |
Open the file or connection.
Reimplemented from TGo4MbsSource.
Definition at line 123 of file TGo4MbsRandom.cxx.
References TGo4MbsSource::fbIsOpen, fiDLen, fiNumDat, fiNumSub, TGo4MbsSource::fxEvent, fxEventMem, get_rand_seed(), and GO4TRACE.
Referenced by TGo4MbsRandom().
long TGo4MbsRandom::rand_event | ( | long | choice | ) | [private] |
Definition at line 222 of file TGo4MbsRandom.cxx.
References fgdPeak, fgdPeak2, fgdSigma, fgdSigma2, fuSeed, gauss_rnd(), get_int(), NUM_PEAK, p_dExponential(), p_dNormal(), and p_dUniform().
Referenced by NextEvent().
double TGo4MbsRandom::fgdPeak = { 200., 302., 653., 1024., 2800.} [static, private] |
Definition at line 78 of file TGo4MbsRandom.h.
Referenced by rand_event().
double TGo4MbsRandom::fgdPeak2 = { 300., 402., 853., 2000., 3024.} [static, private] |
Definition at line 80 of file TGo4MbsRandom.h.
Referenced by rand_event().
double TGo4MbsRandom::fgdSigma = { 10., 22., 153., 104., 38.} [static, private] |
Definition at line 79 of file TGo4MbsRandom.h.
Referenced by rand_event().
double TGo4MbsRandom::fgdSigma2 = { 22., 153., 104., 100., 20.} [static, private] |
Definition at line 81 of file TGo4MbsRandom.h.
Referenced by rand_event().
Int_t TGo4MbsRandom::fiDLen [private] |
total length of current random event in words (Short_t)
Definition at line 56 of file TGo4MbsRandom.h.
Referenced by NextEvent(), and Open().
Int_t TGo4MbsRandom::fiNumDat [private] |
Number of data longwords per subevent
Definition at line 62 of file TGo4MbsRandom.h.
Referenced by NextEvent(), and Open().
Int_t TGo4MbsRandom::fiNumSub [private] |
Number of subevents per event
Definition at line 59 of file TGo4MbsRandom.h.
Referenced by NextEvent(), and Open().
UInt_t TGo4MbsRandom::fuSeed [private] |
Definition at line 67 of file TGo4MbsRandom.h.
Referenced by rand_event().
Short_t* TGo4MbsRandom::fxEventMem [private] |
Memory allocated for the current random event
Definition at line 65 of file TGo4MbsRandom.h.