GSI Object Oriented Online Offline (Go4) GO4-6.4.0
|
Wrapper for the standard gsi event structure as delivered from mbs. More...
#include <TGo4MbsEvent.h>
Public Member Functions | |
TGo4MbsEvent () | |
TGo4MbsEvent (const char *name) | |
Ctor expecting just a name. | |
TGo4MbsEvent (UInt_t subnum, Char_t *subcrates, Char_t *controls, Short_t *procids, UInt_t *datasizes) | |
Ctor expecting the number of subevents to initialize and arrays which specify the subevent ids (subcrate, ctrl, procid) to create. | |
TGo4MbsEvent (UInt_t subnum, Short_t *subids, UInt_t datasize=100) | |
Ctor expecting the number of subevents to initialize and an array which specifies the subevent ids (procids) to create. | |
virtual | ~TGo4MbsEvent () |
TGo4MbsSubEvent * | AddSubEvent (Int_t fullID, Short_t *source, Int_t datalength, Bool_t copydata=kFALSE) |
Add new subevent to mbs event. | |
void | AssignReference (TGo4MbsEvent *ref) |
void | Clear (Option_t *opt="") override |
Method called by the event owner (analysis step) to clear the event element. | |
Int_t | GetByteLen () const |
Int_t | GetCount () const |
Int_t | GetDlen () const |
Short_t | GetDummy () const |
Int_t | GetIntLen () const |
s_bufhe * | GetMbsBufferHeader () |
Access to the buffer header of the current event. | |
s_filhe * | GetMbsSourceHeader () |
Access to the info header of the current mbs source. | |
TGo4MbsSubEvent * | GetSubEvent (Char_t subcrate, Char_t ctrl, Short_t procid) |
Access to subevent in list by procid, subcrate and ctrl identifiers. | |
TGo4MbsSubEvent * | GetSubEvent (Short_t procid) |
Access to subevent in list by procid. | |
Short_t | GetSubtype () const |
Short_t | GetTrigger () const |
Short_t | GetType () const |
TGo4MbsSubEvent * | NextSubEvent (Bool_t all=kFALSE) |
Iterator for subevent array. | |
void | PrintEvent () override |
Print event with default settings. | |
void | PrintMbsBufferHeader () |
Method to print MBS buffer header. | |
void | PrintMbsEvent (Int_t subid=-1, Bool_t longw=kTRUE, Bool_t hexw=kTRUE, Bool_t dataw=kTRUE, Bool_t bufhead=kFALSE, Bool_t filhead=kFALSE) |
Print MBS event. | |
void | PrintMbsFileHeader () |
Method to print MBS source header. | |
void | RemoveReference () |
void | ResetIterator () |
Set the internal iterator of the subevent array to the beginning of the array. | |
void | Set (Int_t dlen=0, Short_t type=10, Short_t subtype=1, Short_t dummy=0, Short_t trigger=0, Int_t count=0) |
void | SetCount (Int_t count) |
void | SetDlen (Int_t dlen) |
void | SetDummy (Short_t dummy) |
void | SetPrintEvent (Int_t num, Int_t sid, Int_t longw, Int_t hexw, Int_t dataw) |
Set print parameter for MBS event source See TGo4MbsSource for more details. | |
void | SetSubtype (Short_t subtype) |
void | SetTrigger (Short_t trigger) |
void | SetType (Short_t type) |
![]() | |
TGo4EventElement () | |
TGo4EventElement (const char *aName, const char *aTitle, Short_t aBaseCat=0) | |
TGo4EventElement (const char *name) | |
virtual | ~TGo4EventElement () |
virtual void | activate () |
virtual Int_t | activateBranch (TBranch *branch, Int_t index=0, TGo4EventElement **var_ptr=nullptr) |
Bool_t | CheckEventSource (const char *classname) |
Check if event source is valid. | |
void | Clear (Option_t *opt="") override |
virtual void | clearAll (Int_t) |
virtual TTree * | CreateSampleTree (TGo4EventElement **sample=nullptr) |
virtual void | deactivate () |
virtual Int_t | Fill () |
Method called by the event owner (analysis step) to fill the event element from the set event source. | |
virtual TGo4EventElement * | GetChild (const char *name) |
TGo4EventSource * | GetEventSource () const |
virtual Short_t | getId () |
TGo4EventElement * | GetParent () const |
virtual Int_t | Init () |
Method called on initialization of event classes. | |
virtual Bool_t | isComposed () |
Bool_t | IsValid () const |
Returns the valid state of this event. | |
virtual void | makeBranch (TBranch *parent) |
virtual TGo4EventElement & | operator[] (Int_t) |
void | Print (Option_t *option="") const override |
virtual void | setDebug (Bool_t debug) |
void | SetEventSource (TGo4EventSource *src) |
Setter for the event source that is currently used by the Fill method. | |
void | SetKeepContents (Bool_t on=kTRUE) |
void | SetParent (TGo4EventElement *par) |
Setter for the parent event structure reference. | |
void | SetValid (Bool_t on) |
Switches the valid state of this event. | |
void | ShowSampleTree () |
virtual void | synchronizeWithTree (TTree *tree, TGo4EventElement **var_ptr=nullptr) |
Use this method to map event structure with the Tree branch(es) | |
Private Member Functions | |
void | SimpleInit () |
Private Attributes | |
Bool_t | fbIsReference {kFALSE} |
Indicates if this object is mere reference to another mbs event. | |
Int_t | fiSubEvIndex {0} |
Subevent index in array, replacement for Iterator. | |
TGo4EventHeader10 | fxHeader |
aggregationByValue | |
TObjArray * | fxSubEvArray {nullptr} |
dynamic array of subevents. | |
Friends | |
class | TGo4MbsSource |
Additional Inherited Members | |
![]() | |
Bool_t | fbKeepContents {kFALSE} |
Debug level. | |
Bool_t | fDebug {kFALSE} |
Short_t | fIdentifier {-1} |
Wrapper for the standard gsi event structure as delivered from mbs.
Definition at line 35 of file TGo4MbsEvent.h.
TGo4MbsEvent::TGo4MbsEvent | ( | ) |
Definition at line 25 of file TGo4MbsEvent.cxx.
References TGo4EventElement::TGo4EventElement(), fbIsReference, fiSubEvIndex, fxHeader, and GO4TRACE.
Referenced by AssignReference(), and TGo4MbsSource.
TGo4MbsEvent::TGo4MbsEvent | ( | UInt_t | subnum, |
Short_t * | subids, | ||
UInt_t | datasize = 100 ) |
Ctor expecting the number of subevents to initialize and an array which specifies the subevent ids (procids) to create.
Subevent number subnum must not extend the length of subids field.
Definition at line 35 of file TGo4MbsEvent.cxx.
References TGo4EventElement::TGo4EventElement(), Clear(), fbIsReference, fiSubEvIndex, fxHeader, fxSubEvArray, GO4TRACE, and TGo4MbsSubEvent::SetProcid().
TGo4MbsEvent::TGo4MbsEvent | ( | UInt_t | subnum, |
Char_t * | subcrates, | ||
Char_t * | controls, | ||
Short_t * | procids, | ||
UInt_t * | datasizes ) |
Ctor expecting the number of subevents to initialize and arrays which specify the subevent ids (subcrate, ctrl, procid) to create.
Subevent number subnum must not extend the length of subids field. Array datasizes contains preallocated size of each subevent data field.
Definition at line 52 of file TGo4MbsEvent.cxx.
References TGo4EventElement::TGo4EventElement(), Clear(), fbIsReference, fiSubEvIndex, fxHeader, fxSubEvArray, GO4TRACE, TGo4MbsSubEvent::SetControl(), TGo4MbsSubEvent::SetProcid(), and TGo4MbsSubEvent::SetSubcrate().
TGo4MbsEvent::TGo4MbsEvent | ( | const char * | name | ) |
Ctor expecting just a name.
Auxiliary to support mbs event in the generic step factory.
Definition at line 76 of file TGo4MbsEvent.cxx.
References TGo4EventElement::TGo4EventElement(), fbIsReference, fiSubEvIndex, fxHeader, GO4TRACE, and SimpleInit().
|
virtual |
Definition at line 101 of file TGo4MbsEvent.cxx.
References fbIsReference, fxSubEvArray, and GO4TRACE.
TGo4MbsSubEvent * TGo4MbsEvent::AddSubEvent | ( | Int_t | fullID, |
Short_t * | source, | ||
Int_t | datalength, | ||
Bool_t | copydata = kFALSE ) |
Add new subevent to mbs event.
/param fullID - 32-bit combination of subcrate, ctrl, procid values /param source - pointer on raw data /param datalength - total length of subevent in DWORDS (2-bytes) /param copydata if true data will be copied into internal allocated buffer, otherwise pointer on provided buffer will be used
Definition at line 318 of file TGo4MbsEvent.cxx.
References TGo4Log::Debug(), TGo4MbsSubEvent::fbIsDataOwner, TGo4MbsSubEvent::fbIsFilled, TGo4MbsSubEvent::fiAllocLen, TGo4MbsSubEvent::fiData, TGo4MbsSubEvent::fxHeader, fxSubEvArray, TGo4MbsSubEvent::GetControl(), TGo4MbsSubEvent::GetProcid(), TGo4MbsSubEvent::GetSubcrate(), NextSubEvent(), TGo4MbsSubEvent::ReAllocate(), ResetIterator(), and TGo4MbsSubEvent::SetDlen().
Referenced by TGo4MbsSource::BuildMbsEvent(), and TGo4MbsSource::BuildMbsSubEvent().
void TGo4MbsEvent::AssignReference | ( | TGo4MbsEvent * | ref | ) |
Definition at line 125 of file TGo4MbsEvent.cxx.
References TGo4MbsEvent(), fbIsReference, TGo4EventHeader10::fiCount, TGo4GSIEventHeader::fiDlen, TGo4EventHeader10::fsDummy, TGo4GSIEventHeader::fsSubtype, TGo4EventHeader10::fsTrigger, TGo4GSIEventHeader::fsType, TGo4EventHeader10::fxGSIHeader, fxHeader, and fxSubEvArray.
|
override |
Method called by the event owner (analysis step) to clear the event element.
Definition at line 114 of file TGo4MbsEvent.cxx.
References fbIsReference, GO4TRACE, NextSubEvent(), and ResetIterator().
Referenced by TGo4MbsEvent(), TGo4MbsEvent(), and SimpleInit().
|
inline |
Definition at line 136 of file TGo4MbsEvent.h.
References GetDlen().
|
inline |
Definition at line 151 of file TGo4MbsEvent.h.
References fxHeader.
Referenced by TGo4SimpleEventProcessor::BuildSimpleEvent(), and PrintMbsEvent().
|
inline |
Definition at line 134 of file TGo4MbsEvent.h.
References fxHeader.
Referenced by GetByteLen(), GetIntLen(), and PrintMbsEvent().
|
inline |
Definition at line 145 of file TGo4MbsEvent.h.
References fxHeader.
|
inline |
Definition at line 135 of file TGo4MbsEvent.h.
References GetDlen().
s_bufhe * TGo4MbsEvent::GetMbsBufferHeader | ( | ) |
Access to the buffer header of the current event.
Definition at line 312 of file TGo4MbsEvent.cxx.
References TGo4MbsSource::GetBufferHeader(), TGo4EventElement::GetEventSource(), and TGo4MbsSource.
Referenced by PrintMbsBufferHeader(), and PrintMbsEvent().
s_filhe * TGo4MbsEvent::GetMbsSourceHeader | ( | ) |
Access to the info header of the current mbs source.
Definition at line 306 of file TGo4MbsEvent.cxx.
References TGo4EventElement::GetEventSource(), TGo4MbsSource::GetInfoHeader(), and TGo4MbsSource.
Referenced by PrintMbsEvent(), and PrintMbsFileHeader().
TGo4MbsSubEvent * TGo4MbsEvent::GetSubEvent | ( | Char_t | subcrate, |
Char_t | ctrl, | ||
Short_t | procid ) |
Access to subevent in list by procid, subcrate and ctrl identifiers.
Returns zero if no subevent of these ids is found. If event has subevents with identical ids, the first in order will be returned (use NextSubEvent() to access all in this case).
Definition at line 285 of file TGo4MbsEvent.cxx.
References GO4TRACE, NextSubEvent(), and ResetIterator().
TGo4MbsSubEvent * TGo4MbsEvent::GetSubEvent | ( | Short_t | procid | ) |
Access to subevent in list by procid.
Returns zero if no subevent of this id is found. If event has subevents with identical procid, the first in order will be returned (use NextSubEvent() to access all in this case). Not recommended to use, left for compatibility!
Definition at line 295 of file TGo4MbsEvent.cxx.
References GO4TRACE, NextSubEvent(), and ResetIterator().
|
inline |
|
inline |
Definition at line 148 of file TGo4MbsEvent.h.
References fxHeader.
Referenced by TXXXProc::BuildEvent(), and PrintMbsEvent().
|
inline |
TGo4MbsSubEvent * TGo4MbsEvent::NextSubEvent | ( | Bool_t | all = kFALSE | ) |
Iterator for subevent array.
Continue at the position after the last call of this method. /param all specifies if all available subevents are delivered, or only subevents which were filled in the previous cycle.
Definition at line 267 of file TGo4MbsEvent.cxx.
References fiSubEvIndex, fxSubEvArray, GO4TRACE, and TGo4MbsSubEvent::IsFilled().
Referenced by AddSubEvent(), TXXXProc::BuildEvent(), TGo4SimpleEventProcessor::BuildSimpleEvent(), Clear(), GetSubEvent(), GetSubEvent(), and PrintMbsEvent().
|
overridevirtual |
Print event with default settings.
Reimplemented from TGo4EventElement.
Definition at line 164 of file TGo4MbsEvent.cxx.
References PrintMbsEvent().
void TGo4MbsEvent::PrintMbsBufferHeader | ( | ) |
Method to print MBS buffer header.
Definition at line 199 of file TGo4MbsEvent.cxx.
References f_ut_utime(), GetMbsBufferHeader(), s_bufhe::i_subtype, s_bufhe::i_type, s_bufhe::l_buf, s_bufhe::l_dlen, and s_bufhe::l_time.
Referenced by PrintMbsEvent().
void TGo4MbsEvent::PrintMbsEvent | ( | Int_t | subid = -1, |
Bool_t | longw = kTRUE, | ||
Bool_t | hexw = kTRUE, | ||
Bool_t | dataw = kTRUE, | ||
Bool_t | bufhead = kFALSE, | ||
Bool_t | filhead = kFALSE ) |
Print MBS event.
subid | - select subevent id, -1 - print all subevents |
longw | - data in long format (4 bytes) |
hexw | - print in hex format |
dataw | - print raw data |
bufhead | - print current mbs buffer header |
filhead | - print current mbs file header |
Definition at line 217 of file TGo4MbsEvent.cxx.
References f_ut_utime(), s_filhe::filhe_file, GetCount(), GetDlen(), GetMbsBufferHeader(), GetMbsSourceHeader(), GetSubtype(), GetTrigger(), GetType(), s_bufhe::l_buf, s_bufhe::l_time, NextSubEvent(), PrintMbsBufferHeader(), PrintMbsFileHeader(), and ResetIterator().
Referenced by TGo4PrintProcessor::BuildEvent(), and PrintEvent().
void TGo4MbsEvent::PrintMbsFileHeader | ( | ) |
Method to print MBS source header.
Definition at line 184 of file TGo4MbsEvent.cxx.
References s_filhe::filhe_dlen, s_filhe::filhe_file, s_filhe::filhe_file_l, s_filhe::filhe_lines, s_filhe::filhe_subtype, s_filhe::filhe_type, GetMbsSourceHeader(), s_filhe::s_strings, and cv_string::string.
Referenced by PrintMbsEvent().
void TGo4MbsEvent::RemoveReference | ( | ) |
Definition at line 146 of file TGo4MbsEvent.cxx.
References fbIsReference, and SimpleInit().
|
inline |
Set the internal iterator of the subevent array to the beginning of the array.
Definition at line 100 of file TGo4MbsEvent.h.
References fiSubEvIndex.
Referenced by AddSubEvent(), TXXXProc::BuildEvent(), TGo4SimpleEventProcessor::BuildSimpleEvent(), Clear(), GetSubEvent(), GetSubEvent(), and PrintMbsEvent().
void TGo4MbsEvent::Set | ( | Int_t | dlen = 0, |
Short_t | type = 10, | ||
Short_t | subtype = 1, | ||
Short_t | dummy = 0, | ||
Short_t | trigger = 0, | ||
Int_t | count = 0 ) |
Definition at line 153 of file TGo4MbsEvent.cxx.
References SetCount(), SetDlen(), SetDummy(), SetSubtype(), SetTrigger(), and SetType().
Referenced by SimpleInit().
|
inline |
Definition at line 150 of file TGo4MbsEvent.h.
References fxHeader.
Referenced by TGo4MbsSource::BuildMbsEvent(), and Set().
|
inline |
Definition at line 133 of file TGo4MbsEvent.h.
References fxHeader.
Referenced by TGo4MbsSource::BuildMbsEvent(), and Set().
|
inline |
Definition at line 144 of file TGo4MbsEvent.h.
References fxHeader.
Referenced by TGo4MbsSource::BuildMbsEvent(), and Set().
void TGo4MbsEvent::SetPrintEvent | ( | Int_t | num, |
Int_t | sid, | ||
Int_t | longw, | ||
Int_t | hexw, | ||
Int_t | dataw ) |
Set print parameter for MBS event source See TGo4MbsSource for more details.
Definition at line 260 of file TGo4MbsEvent.cxx.
References TGo4EventElement::GetEventSource(), TGo4MbsSource::SetPrintEvent(), and TGo4MbsSource.
|
inline |
Definition at line 141 of file TGo4MbsEvent.h.
References fxHeader.
Referenced by TGo4MbsSource::BuildMbsEvent(), and Set().
|
inline |
Definition at line 147 of file TGo4MbsEvent.h.
References fxHeader.
Referenced by TGo4MbsSource::BuildMbsEvent(), and Set().
|
inline |
Definition at line 138 of file TGo4MbsEvent.h.
References fxHeader.
Referenced by TGo4MbsSource::BuildMbsEvent(), and Set().
|
private |
Definition at line 86 of file TGo4MbsEvent.cxx.
References Clear(), fxSubEvArray, Set(), TGo4MbsSubEvent::SetControl(), TGo4MbsSubEvent::SetProcid(), and TGo4MbsSubEvent::SetSubcrate().
Referenced by TGo4MbsEvent(), and RemoveReference().
|
friend |
Definition at line 37 of file TGo4MbsEvent.h.
References TGo4MbsEvent(), and TGo4MbsSource.
Referenced by GetMbsBufferHeader(), GetMbsSourceHeader(), SetPrintEvent(), and TGo4MbsSource.
|
private |
Indicates if this object is mere reference to another mbs event.
Definition at line 177 of file TGo4MbsEvent.h.
Referenced by TGo4MbsEvent(), TGo4MbsEvent(), TGo4MbsEvent(), TGo4MbsEvent(), ~TGo4MbsEvent(), AssignReference(), Clear(), and RemoveReference().
|
private |
Subevent index in array, replacement for Iterator.
Definition at line 174 of file TGo4MbsEvent.h.
Referenced by TGo4MbsEvent(), TGo4MbsEvent(), TGo4MbsEvent(), TGo4MbsEvent(), NextSubEvent(), and ResetIterator().
|
private |
aggregationByValue
Definition at line 168 of file TGo4MbsEvent.h.
Referenced by TGo4MbsEvent(), TGo4MbsEvent(), TGo4MbsEvent(), TGo4MbsEvent(), AssignReference(), GetCount(), GetDlen(), GetDummy(), GetSubtype(), GetTrigger(), GetType(), SetCount(), SetDlen(), SetDummy(), SetSubtype(), SetTrigger(), and SetType().
|
private |
dynamic array of subevents.
Definition at line 171 of file TGo4MbsEvent.h.
Referenced by TGo4MbsEvent(), TGo4MbsEvent(), ~TGo4MbsEvent(), AddSubEvent(), AssignReference(), NextSubEvent(), and SimpleInit().