GSI Object Oriented Online Offline (Go4)
GO4-6.3.0
|
#include <TGo4MbsRandom.h>
Public Member Functions | |
TGo4MbsRandom (const char *name) | |
TGo4MbsRandom () | |
TGo4MbsRandom (TGo4MbsRandomParameter *par) | |
virtual | ~TGo4MbsRandom () |
Int_t | Close () override |
Int_t | Open () override |
Int_t | NextEvent () override |
s_bufhe * | GetBufferHeader () override |
![]() | |
TGo4MbsSource () | |
TGo4MbsSource (const char *name, Int_t mode) | |
TGo4MbsSource (TGo4MbsSourceParameter *par, Int_t mode) | |
virtual | ~TGo4MbsSource () |
Bool_t | CheckEventClass (TClass *cl) override |
Bool_t | BuildEvent (TGo4EventElement *dest) override |
void | BuildMbsEvent (TGo4MbsEvent *target) |
TGo4MbsSubEvent * | BuildMbsSubEvent (TGo4MbsEvent *target, Int_t fullID, Short_t *source, Int_t datalength) |
void | SetStartEvent (UInt_t firstindex) |
void | SetStopEvent (UInt_t lastindex) |
void | SetEventInterval (UInt_t skipinterval) |
void | SetTimeout (Int_t time) |
void | SetPort (Int_t port) |
s_filhe * | GetInfoHeader () const |
void | SetPrintEvent (Int_t num=1, Int_t sid=-1, Int_t longw=1, Int_t hexw=1, Int_t dataw=0) |
void | SetDataCopyMode (Bool_t on) |
![]() | |
TGo4EventSource () | |
TGo4EventSource (const char *name) | |
virtual | ~TGo4EventSource () |
void | Clear (Option_t *opt="") override |
Int_t | GetCreateStatus () const |
Int_t | GetEventStatus () const |
const char * | GetErrMess () const |
virtual const char * | GetActiveName () const |
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 {0} |
Int_t | fiNumSub {0} |
Int_t | fiNumDat {0} |
Short_t * | fxEventMem {nullptr} |
UInt_t | fuSeed {0} |
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.} |
Additional Inherited Members | |
![]() | |
static void | SetPollingMode (Bool_t on=kTRUE) |
![]() | |
static const UInt_t | fguLONGBYCHAR = sizeof(Int_t) / sizeof(Char_t) |
static const UInt_t | fguSHORTBYCHAR = sizeof(Short_t) / sizeof(Char_t) |
static const UInt_t | fguLONGBYSHORT = sizeof(Int_t) / sizeof(Short_t) |
static const UInt_t | fguEVHEBYCHAR = sizeof(s_evhe) / sizeof(Char_t) |
![]() | |
static const Int_t | fgiTIMEOUTDEFAULT =1 |
![]() | |
enum | { fguTXTLEN = 256 } |
![]() | |
void | SetErrMess (const char *txt) |
void | SetEventStatus (Int_t status) |
void | SetCreateStatus (Int_t status) |
void | ThrowError (Int_t creastat, Int_t errstat, const char *message,...) |
void | ThrowEOF (Int_t creastat, Int_t errstat, const char *message,...) |
![]() | |
s_evt_channel * | fxInputChannel {nullptr} |
s_ve10_1 * | fxEvent {nullptr} |
s_bufhe * | fxBuffer {nullptr} |
s_filhe * | fxInfoHeader {nullptr} |
Bool_t | fbIsOpen {kFALSE} |
Bool_t | fbDataCopyMode {kFALSE} |
ULong_t | fuEventCounter {0} |
Bool_t | fbFirstEvent {kFALSE} |
ULong_t | fuStartEvent {0} |
ULong_t | fuStopEvent {0} |
ULong_t | fuEventInterval {0} |
Int_t | fiTimeout {0} |
Bool_t | fbPollingMode {kFALSE} |
Int_t | fiPort {0} |
if true, use short timeout to keep gSystem->ProcessEvents() running More... | |
TGo4MbsSourcePrintPar | fxPrEventPar |
![]() | |
static Bool_t | gbPollingMode = kFALSE |
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 57 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 44 of file TGo4MbsRandom.cxx.
References TGo4Log::Debug(), GO4TRACE, and Open().
|
virtual |
Definition at line 70 of file TGo4MbsRandom.cxx.
|
overridevirtual |
Close the file or connection.
Reimplemented from TGo4MbsSource.
Definition at line 137 of file TGo4MbsRandom.cxx.
References TGo4MbsSource::fbIsOpen, TGo4MbsSource::fxEvent, fxEventMem, and GO4TRACE.
Referenced by ~TGo4MbsRandom().
|
private |
Definition at line 163 of file TGo4MbsRandom.cxx.
Referenced by rand_event().
|
private |
Definition at line 196 of file TGo4MbsRandom.cxx.
Referenced by NextEvent(), and rand_event().
|
private |
|
overridevirtual |
User access to current event buffer header. dummy here!
Reimplemented from TGo4MbsSource.
Definition at line 230 of file TGo4MbsRandom.cxx.
|
overridevirtual |
Requests the next event from mbs source. Returns event status value.
Reimplemented from TGo4MbsSource.
Definition at line 76 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_ve10_1::l_dlen, s_ves10_1::l_dlen, and rand_event().
|
overridevirtual |
Open the file or connection.
Reimplemented from TGo4MbsSource.
Definition at line 112 of file TGo4MbsRandom.cxx.
References TGo4MbsSource::fbIsOpen, fiDLen, fiNumDat, fiNumSub, TGo4MbsSource::fxEvent, fxEventMem, get_rand_seed(), and GO4TRACE.
Referenced by TGo4MbsRandom().
|
private |
Definition at line 203 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().
|
staticprivate |
Definition at line 78 of file TGo4MbsRandom.h.
Referenced by rand_event().
|
staticprivate |
Definition at line 80 of file TGo4MbsRandom.h.
Referenced by rand_event().
|
staticprivate |
Definition at line 79 of file TGo4MbsRandom.h.
Referenced by rand_event().
|
staticprivate |
Definition at line 81 of file TGo4MbsRandom.h.
Referenced by rand_event().
|
private |
total length of current random event in words (Short_t)
Definition at line 56 of file TGo4MbsRandom.h.
Referenced by NextEvent(), and Open().
|
private |
Number of data longwords per subevent
Definition at line 62 of file TGo4MbsRandom.h.
Referenced by NextEvent(), and Open().
|
private |
Number of subevents per event
Definition at line 59 of file TGo4MbsRandom.h.
Referenced by NextEvent(), and Open().
|
private |
Definition at line 67 of file TGo4MbsRandom.h.
Referenced by rand_event().
|
private |
Memory allocated for the current random event
Definition at line 65 of file TGo4MbsRandom.h.