GSI Object Oriented Online Offline (Go4) GO4-6.4.0
Loading...
Searching...
No Matches
TGo4MbsRandom Class Reference

Implements a random generator as source for mbs events. More...

#include <TGo4MbsRandom.h>

+ Inheritance diagram for TGo4MbsRandom:

Public Member Functions

 TGo4MbsRandom ()
 
 TGo4MbsRandom (const char *name)
 
 TGo4MbsRandom (TGo4MbsRandomParameter *par)
 
virtual ~TGo4MbsRandom ()
 
Int_t Close () override
 Close the file or connection.
 
s_bufheGetBufferHeader () override
 User access to current event buffer header.
 
Int_t NextEvent () override
 Requests the next event from mbs source.
 
Int_t Open () override
 Open the file or connection.
 
- Public Member Functions inherited from TGo4MbsSource
 TGo4MbsSource ()
 default for streamer
 
 TGo4MbsSource (const char *name, Int_t mode)
 
 TGo4MbsSource (TGo4MbsSourceParameter *par, Int_t mode)
 
virtual ~TGo4MbsSource ()
 
Bool_t BuildEvent (TGo4EventElement *dest) override
 Fill the destination event.
 
void BuildMbsEvent (TGo4MbsEvent *target)
 This methods actually fills the target event class which is passed as pointer.
 
TGo4MbsSubEventBuildMbsSubEvent (TGo4MbsEvent *target, Int_t fullID, Short_t *source, Int_t datalength)
 Auxiliary function to fill datalength words (Short_t) from source into the next subevent of target with matching header fullID longword.
 
Bool_t CheckEventClass (TClass *cl) override
 Check that filled event is a proper class.
 
s_filheGetInfoHeader () const
 User access to info header.
 
void SetDataCopyMode (Bool_t on)
 
void SetEventInterval (UInt_t skipinterval)
 
void SetPort (Int_t port)
 
void SetPrintEvent (Int_t num=1, Int_t sid=-1, Int_t longw=1, Int_t hexw=1, Int_t dataw=0)
 Set mbs source into printout (verbose) mode for the next num events.
 
void SetStartEvent (UInt_t firstindex)
 Define the Start index for the NextEvent.
 
void SetStopEvent (UInt_t lastindex)
 
void SetTimeout (Int_t time)
 
- Public Member Functions inherited from TGo4EventSource
 TGo4EventSource ()
 
 TGo4EventSource (const char *name)
 
virtual ~TGo4EventSource ()
 
void Clear (Option_t *opt="") override
 
virtual const char * GetActiveName () const
 Access to the name of the currently active source.
 
Int_t GetCreateStatus () const
 Status value of server/file open.
 
const char * GetErrMess () const
 Status/ error message of the last event.
 
Int_t GetEventStatus () const
 Status of the last event.
 

Private Member Functions

double gauss_rnd (double mean, double sigma)
 
double get_int (double low, double high)
 
void get_rand_seed ()
 obtains seed for generator
 
long rand_event (long choice)
 

Private Attributes

Int_t fiDLen {0}
 total length of current random event in words (Short_t)
 
Int_t fiNumDat {0}
 Number of data longwords per subevent.
 
Int_t fiNumSub {0}
 Number of subevents per event.
 
UInt_t fuSeed {0}
 
Short_t * fxEventMem {nullptr}
 Memory allocated for the current random event.
 

Additional Inherited Members

- Static Public Member Functions inherited from TGo4MbsSource
static void SetPollingMode (Bool_t on=kTRUE)
 
- Static Public Attributes inherited from TGo4MbsSource
static const UInt_t fguEVHEBYCHAR = sizeof(s_evhe) / sizeof(Char_t)
 ratio sizeof(s_evhe) by sizeof(char).
 
static const UInt_t fguLONGBYCHAR = sizeof(Int_t) / sizeof(Char_t)
 ratio sizeof(long) by sizeof(char).
 
static const UInt_t fguLONGBYSHORT = sizeof(Int_t) / sizeof(Short_t)
 ratio sizeof(long) by sizeof(short).
 
static const UInt_t fguSHORTBYCHAR = sizeof(Short_t) / sizeof(Char_t)
 ratio sizeof(short) by sizeof(char).
 
- Static Public Attributes inherited from TGo4EventSource
static const Int_t fgiTIMEOUTDEFAULT =1
 Default timeout in seconds for event input.
 
- Protected Types inherited from TGo4EventSource
enum  { fguTXTLEN = 256 }
 text length More...
 
- Protected Member Functions inherited from TGo4EventSource
void SetCreateStatus (Int_t status)
 Status value of event source init (file/server open).
 
void SetErrMess (const char *txt)
 To be used for modification of the message by the event source implementation.
 
void SetEventStatus (Int_t status)
 Status of the last event.
 
void ThrowEOF (Int_t creastat, Int_t errstat, const char *message,...)
 EOF thrower.
 
void ThrowError (Int_t creastat, Int_t errstat, const char *message,...)
 Exception thrower.
 
- Protected Attributes inherited from TGo4MbsSource
Bool_t fbDataCopyMode {kFALSE}
 switches buildmbs event mode: if true, data buffer is copied to own buffer of subevent.
 
Bool_t fbFirstEvent {kFALSE}
 Indicates if first event should be extracted.
 
Bool_t fbIsOpen {kFALSE}
 
Bool_t fbPollingMode {kFALSE}
 
Int_t fiPort {0}
 if true, use short timeout to keep gSystem->ProcessEvents() running
 
Int_t fiTimeout {0}
 Timeout in seconds for mbs getevent.
 
ULong_t fuEventCounter {0}
 Current event index counter.
 
ULong_t fuEventInterval {0}
 Number of events to skip from file in between two read events.
 
ULong_t fuStartEvent {0}
 Index of first event to process.
 
ULong_t fuStopEvent {0}
 Index of last event to process.
 
s_bufhefxBuffer {nullptr}
 Points to the current gsi buffer structure filled by the event source.
 
s_ve10_1fxEvent {nullptr}
 
s_filhefxInfoHeader {nullptr}
 Reference to header info delivered by source.
 
s_evt_channelfxInputChannel {nullptr}
 Event channel structure used by event source.
 
TGo4MbsSourcePrintPar fxPrEventPar
 This structure keeps parameters for printevent mode.
 
- Static Protected Attributes inherited from TGo4MbsSource
static Bool_t gbPollingMode = kFALSE
 

Detailed Description

Implements a random generator as source for mbs events.

Produces events with 2 subevents containing gaussian spectra

Author
J. Adamczewski, N.Kurz
Since
5/2003

Definition at line 30 of file TGo4MbsRandom.h.

Constructor & Destructor Documentation

◆ TGo4MbsRandom() [1/3]

TGo4MbsRandom::TGo4MbsRandom ( const char * name)

◆ TGo4MbsRandom() [2/3]

TGo4MbsRandom::TGo4MbsRandom ( )

Definition at line 29 of file TGo4MbsRandom.cxx.

References TGo4MbsSource::TGo4MbsSource(), fiDLen, fiNumDat, fiNumSub, and GO4TRACE.

◆ TGo4MbsRandom() [3/3]

TGo4MbsRandom::TGo4MbsRandom ( TGo4MbsRandomParameter * par)

◆ ~TGo4MbsRandom()

TGo4MbsRandom::~TGo4MbsRandom ( )
virtual

Definition at line 65 of file TGo4MbsRandom.cxx.

References Close(), and GO4TRACE.

Member Function Documentation

◆ Close()

Int_t TGo4MbsRandom::Close ( )
overridevirtual

Close the file or connection.

Reimplemented from TGo4MbsSource.

Definition at line 132 of file TGo4MbsRandom.cxx.

References TGo4MbsSource::fbIsOpen, TGo4MbsSource::fxEvent, fxEventMem, and GO4TRACE.

Referenced by ~TGo4MbsRandom().

◆ gauss_rnd()

double TGo4MbsRandom::gauss_rnd ( double mean,
double sigma )
private

Definition at line 158 of file TGo4MbsRandom.cxx.

Referenced by rand_event().

◆ get_int()

double TGo4MbsRandom::get_int ( double low,
double high )
private

Definition at line 191 of file TGo4MbsRandom.cxx.

Referenced by NextEvent(), and rand_event().

◆ get_rand_seed()

void TGo4MbsRandom::get_rand_seed ( )
private

obtains seed for generator

Definition at line 145 of file TGo4MbsRandom.cxx.

Referenced by Open().

◆ GetBufferHeader()

s_bufhe * TGo4MbsRandom::GetBufferHeader ( )
overridevirtual

User access to current event buffer header.

dummy here!

Reimplemented from TGo4MbsSource.

Definition at line 230 of file TGo4MbsRandom.cxx.

◆ NextEvent()

Int_t TGo4MbsRandom::NextEvent ( )
overridevirtual

Requests the next event from mbs source.

Returns event status value.

Reimplemented from TGo4MbsSource.

Definition at line 71 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_ves10_1::l_dlen, and rand_event().

◆ Open()

Int_t TGo4MbsRandom::Open ( )
overridevirtual

Open the file or connection.

Reimplemented from TGo4MbsSource.

Definition at line 107 of file TGo4MbsRandom.cxx.

References TGo4MbsSource::fbIsOpen, fiDLen, fiNumDat, fiNumSub, TGo4MbsSource::fxEvent, fxEventMem, get_rand_seed(), and GO4TRACE.

Referenced by TGo4MbsRandom(), and TGo4MbsRandom().

◆ rand_event()

long TGo4MbsRandom::rand_event ( long choice)
private

Definition at line 198 of file TGo4MbsRandom.cxx.

References fuSeed, gauss_rnd(), get_int(), NUM_PEAK, p_dExponential(), p_dNormal(), and p_dUniform().

Referenced by NextEvent().

Field Documentation

◆ fiDLen

Int_t TGo4MbsRandom::fiDLen {0}
private

total length of current random event in words (Short_t)

Definition at line 57 of file TGo4MbsRandom.h.

Referenced by TGo4MbsRandom(), TGo4MbsRandom(), TGo4MbsRandom(), NextEvent(), and Open().

◆ fiNumDat

Int_t TGo4MbsRandom::fiNumDat {0}
private

Number of data longwords per subevent.

Definition at line 63 of file TGo4MbsRandom.h.

Referenced by TGo4MbsRandom(), TGo4MbsRandom(), TGo4MbsRandom(), NextEvent(), and Open().

◆ fiNumSub

Int_t TGo4MbsRandom::fiNumSub {0}
private

Number of subevents per event.

Definition at line 60 of file TGo4MbsRandom.h.

Referenced by TGo4MbsRandom(), TGo4MbsRandom(), TGo4MbsRandom(), NextEvent(), and Open().

◆ fuSeed

UInt_t TGo4MbsRandom::fuSeed {0}
private

Definition at line 68 of file TGo4MbsRandom.h.

Referenced by rand_event().

◆ fxEventMem

Short_t* TGo4MbsRandom::fxEventMem {nullptr}
private

Memory allocated for the current random event.

Definition at line 66 of file TGo4MbsRandom.h.

Referenced by Close(), and Open().


The documentation for this class was generated from the following files: