GSI Object Oriented Online Offline (Go4)  GO4-6.3.0
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
TGo4MbsEvent Class Reference

#include <TGo4MbsEvent.h>

+ Inheritance diagram for TGo4MbsEvent:

Public Member Functions

 TGo4MbsEvent ()
 
 TGo4MbsEvent (UInt_t subnum, Short_t *subids, UInt_t datasize=100)
 
 TGo4MbsEvent (UInt_t subnum, Char_t *subcrates, Char_t *controls, Short_t *procids, UInt_t *datasizes)
 
 TGo4MbsEvent (const char *name)
 
virtual ~TGo4MbsEvent ()
 
void Clear (Option_t *opt="") override
 
void AssignReference (TGo4MbsEvent *ref)
 
void RemoveReference ()
 
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 PrintEvent () override
 
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)
 
void SetPrintEvent (Int_t num, Int_t sid, Int_t longw, Int_t hexw, Int_t dataw)
 
void ResetIterator ()
 
TGo4MbsSubEventNextSubEvent (Bool_t all=kFALSE)
 
TGo4MbsSubEventGetSubEvent (Char_t subcrate, Char_t ctrl, Short_t procid)
 
TGo4MbsSubEventGetSubEvent (Short_t procid)
 
TGo4MbsSubEventAddSubEvent (Int_t fullID, Short_t *source, Int_t datalength, Bool_t copydata=kFALSE)
 
void SetDlen (Int_t dlen)
 
Int_t GetDlen () const
 
Int_t GetIntLen () const
 
Int_t GetByteLen () const
 
void SetType (Short_t type)
 
Short_t GetType () const
 
void SetSubtype (Short_t subtype)
 
Short_t GetSubtype () const
 
void SetDummy (Short_t dummy)
 
Short_t GetDummy () const
 
void SetTrigger (Short_t trigger)
 
Short_t GetTrigger () const
 
void SetCount (Int_t count)
 
Int_t GetCount () const
 
s_filheGetMbsSourceHeader ()
 
void PrintMbsFileHeader ()
 
s_bufheGetMbsBufferHeader ()
 
void PrintMbsBufferHeader ()
 
- Public Member Functions inherited from TGo4EventElement
 TGo4EventElement ()
 
 TGo4EventElement (const char *name)
 
 TGo4EventElement (const char *aName, const char *aTitle, Short_t aBaseCat=0)
 
virtual ~TGo4EventElement ()
 
void SetValid (Bool_t on)
 
Bool_t IsValid () const
 
void SetEventSource (TGo4EventSource *src)
 
void SetParent (TGo4EventElement *par)
 
void SetKeepContents (Bool_t on=kTRUE)
 
TGo4EventElementGetParent () const
 
virtual TGo4EventElementGetChild (const char *name)
 
TGo4EventSourceGetEventSource () const
 
Bool_t CheckEventSource (const char *classname)
 
virtual Int_t Fill ()
 
virtual Int_t Init ()
 
virtual void makeBranch (TBranch *parent)
 
virtual void deactivate ()
 
virtual void activate ()
 
void Clear (Option_t *opt="") override
 
virtual void clearAll (Int_t)
 
virtual Bool_t isComposed ()
 
virtual Short_t getId ()
 
virtual void setDebug (Bool_t debug)
 
virtual TGo4EventElementoperator[] (Int_t)
 
void Print (Option_t *option="") const override
 
virtual void synchronizeWithTree (TTree *tree, TGo4EventElement **var_ptr=nullptr)
 
virtual Int_t activateBranch (TBranch *branch, Int_t index=0, TGo4EventElement **var_ptr=nullptr)
 
virtual TTree * CreateSampleTree (TGo4EventElement **sample=nullptr)
 
void ShowSampleTree ()
 

Private Member Functions

void SimpleInit ()
 

Private Attributes

TGo4EventHeader10 fxHeader
 
TObjArray * fxSubEvArray {nullptr}
 
Int_t fiSubEvIndex {0}
 
Bool_t fbIsReference {kFALSE}
 

Friends

class TGo4MbsSource
 

Additional Inherited Members

- Protected Attributes inherited from TGo4EventElement
Short_t fIdentifier {-1}
 
Bool_t fDebug {kFALSE}
 
Bool_t fbKeepContents {kFALSE}
 Debug level. More...
 

Detailed Description

Wrapper for the standard gsi event structure as delivered from mbs.

Definition at line 35 of file TGo4MbsEvent.h.

Constructor & Destructor Documentation

◆ TGo4MbsEvent() [1/4]

TGo4MbsEvent::TGo4MbsEvent ( )

Definition at line 25 of file TGo4MbsEvent.cxx.

References GO4TRACE.

◆ TGo4MbsEvent() [2/4]

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 Clear(), fxSubEvArray, GO4TRACE, and TGo4MbsSubEvent::SetProcid().

◆ TGo4MbsEvent() [3/4]

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 Clear(), fxSubEvArray, GO4TRACE, TGo4MbsSubEvent::SetControl(), TGo4MbsSubEvent::SetProcid(), and TGo4MbsSubEvent::SetSubcrate().

◆ TGo4MbsEvent() [4/4]

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 GO4TRACE, and SimpleInit().

◆ ~TGo4MbsEvent()

TGo4MbsEvent::~TGo4MbsEvent ( )
virtual

Definition at line 101 of file TGo4MbsEvent.cxx.

References fbIsReference, fxSubEvArray, and GO4TRACE.

Member Function Documentation

◆ AddSubEvent()

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(), TGo4MbsSource::BuildMbsSubEvent(), and ResetIterator().

◆ AssignReference()

void TGo4MbsEvent::AssignReference ( TGo4MbsEvent ref)

◆ Clear()

void TGo4MbsEvent::Clear ( Option_t *  opt = "")
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 SimpleInit(), and TGo4MbsEvent().

◆ GetByteLen()

Int_t TGo4MbsEvent::GetByteLen ( ) const
inline

Definition at line 136 of file TGo4MbsEvent.h.

References GetDlen().

◆ GetCount()

Int_t TGo4MbsEvent::GetCount ( ) const
inline

◆ GetDlen()

Int_t TGo4MbsEvent::GetDlen ( ) const
inline

◆ GetDummy()

Short_t TGo4MbsEvent::GetDummy ( ) const
inline

Definition at line 145 of file TGo4MbsEvent.h.

References TGo4EventHeader10::fsDummy, and fxHeader.

◆ GetIntLen()

Int_t TGo4MbsEvent::GetIntLen ( ) const
inline

Definition at line 135 of file TGo4MbsEvent.h.

References GetDlen().

◆ GetMbsBufferHeader()

s_bufhe * TGo4MbsEvent::GetMbsBufferHeader ( )

Access to the buffer header of the current event

Definition at line 312 of file TGo4MbsEvent.cxx.

References TGo4MbsSource::GetBufferHeader(), and TGo4EventElement::GetEventSource().

Referenced by GetCount(), PrintMbsBufferHeader(), and PrintMbsEvent().

◆ GetMbsSourceHeader()

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(), and TGo4MbsSource::GetInfoHeader().

Referenced by GetCount(), PrintMbsEvent(), and PrintMbsFileHeader().

◆ GetSubEvent() [1/2]

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().

Referenced by ResetIterator().

◆ GetSubEvent() [2/2]

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().

◆ GetSubtype()

Short_t TGo4MbsEvent::GetSubtype ( ) const
inline

Definition at line 142 of file TGo4MbsEvent.h.

References TGo4GSIEventHeader::fsSubtype, TGo4EventHeader10::fxGSIHeader, and fxHeader.

Referenced by PrintMbsEvent().

◆ GetTrigger()

Short_t TGo4MbsEvent::GetTrigger ( ) const
inline

◆ GetType()

Short_t TGo4MbsEvent::GetType ( ) const
inline

Definition at line 139 of file TGo4MbsEvent.h.

References TGo4GSIEventHeader::fsType, TGo4EventHeader10::fxGSIHeader, and fxHeader.

Referenced by PrintMbsEvent().

◆ NextSubEvent()

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(), TXXXUnpackProc::BuildEvent(), TGo4CompositeProcessor::BuildEvent(), TGo4SimpleEventProcessor::BuildSimpleEvent(), Clear(), TXXXUnpackProc::CreateRawHistograms(), GetSubEvent(), PrintMbsEvent(), ResetIterator(), TMeshUnpackProc::UnpackBranch1(), TMeshUnpackProc::UnpackBranch2(), and TMeshUnpackProc::UnpackBranch3().

◆ PrintEvent()

void TGo4MbsEvent::PrintEvent ( )
overridevirtual

Print event with default settings

Reimplemented from TGo4EventElement.

Definition at line 164 of file TGo4MbsEvent.cxx.

References PrintMbsEvent().

◆ PrintMbsBufferHeader()

void TGo4MbsEvent::PrintMbsBufferHeader ( )

◆ 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

Parameters
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().

◆ PrintMbsFileHeader()

void TGo4MbsEvent::PrintMbsFileHeader ( )

◆ RemoveReference()

void TGo4MbsEvent::RemoveReference ( )

Definition at line 146 of file TGo4MbsEvent.cxx.

References fbIsReference, and SimpleInit().

◆ ResetIterator()

void TGo4MbsEvent::ResetIterator ( )
inline

◆ Set()

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().

◆ SetCount()

void TGo4MbsEvent::SetCount ( Int_t  count)
inline

Definition at line 150 of file TGo4MbsEvent.h.

References TGo4EventHeader10::fiCount, and fxHeader.

Referenced by TGo4MbsSource::BuildMbsEvent(), and Set().

◆ SetDlen()

void TGo4MbsEvent::SetDlen ( Int_t  dlen)
inline

◆ SetDummy()

void TGo4MbsEvent::SetDummy ( Short_t  dummy)
inline

Definition at line 144 of file TGo4MbsEvent.h.

References TGo4EventHeader10::fsDummy, and fxHeader.

Referenced by TGo4MbsSource::BuildMbsEvent(), and Set().

◆ SetPrintEvent()

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(), and TGo4MbsSource::SetPrintEvent().

◆ SetSubtype()

void TGo4MbsEvent::SetSubtype ( Short_t  subtype)
inline

◆ SetTrigger()

void TGo4MbsEvent::SetTrigger ( Short_t  trigger)
inline

Definition at line 147 of file TGo4MbsEvent.h.

References TGo4EventHeader10::fsTrigger, and fxHeader.

Referenced by TGo4MbsSource::BuildMbsEvent(), and Set().

◆ SetType()

void TGo4MbsEvent::SetType ( Short_t  type)
inline

◆ SimpleInit()

void TGo4MbsEvent::SimpleInit ( )
private

Friends And Related Function Documentation

◆ TGo4MbsSource

friend class TGo4MbsSource
friend

Definition at line 37 of file TGo4MbsEvent.h.

Member Data Documentation

◆ fbIsReference

Bool_t TGo4MbsEvent::fbIsReference {kFALSE}
private

Indicates if this object is mere reference to another mbs event

Definition at line 177 of file TGo4MbsEvent.h.

Referenced by AssignReference(), Clear(), RemoveReference(), and ~TGo4MbsEvent().

◆ fiSubEvIndex

Int_t TGo4MbsEvent::fiSubEvIndex {0}
private

Subevent index in array, replacement for Iterator.

Definition at line 174 of file TGo4MbsEvent.h.

Referenced by NextSubEvent(), and ResetIterator().

◆ fxHeader

TGo4EventHeader10 TGo4MbsEvent::fxHeader
private

◆ fxSubEvArray

TObjArray* TGo4MbsEvent::fxSubEvArray {nullptr}
private

dynamic array of subevents.

Definition at line 171 of file TGo4MbsEvent.h.

Referenced by AddSubEvent(), AssignReference(), NextSubEvent(), SimpleInit(), TGo4MbsEvent(), and ~TGo4MbsEvent().


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