GSI Object Oriented Online Offline (Go4)  GO4-6.2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
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 ()
 
virtual void Clear (Option_t *t="")
 
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)
 
virtual void PrintEvent ()
 
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)
 
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 ()
 
virtual void clearAll (Int_t)
 
virtual Bool_t isComposed ()
 
virtual Short_t getId ()
 
virtual void setDebug (Bool_t debug)
 
virtual TGo4EventElementoperator[] (Int_t)
 
virtual void Print (Option_t *option="") const
 
virtual void synchronizeWithTree (TTree *tree, TGo4EventElement **var_ptr=0)
 
virtual Int_t activateBranch (TBranch *branch, Int_t index=0, TGo4EventElement **var_ptr=0)
 
virtual TTree * CreateSampleTree (TGo4EventElement **sample=0)
 
void ShowSampleTree ()
 

Private Member Functions

void SimpleInit ()
 

Private Attributes

TGo4EventHeader10 fxHeader
 
TObjArray * fxSubEvArray
 
Int_t fiSubEvIndex
 
Bool_t fbIsReference
 

Friends

class TGo4MbsSource
 

Additional Inherited Members

- Protected Attributes inherited from TGo4EventElement
Short_t fIdentifier
 
Bool_t fDebug
 
Bool_t fbKeepContents
 Debug level. More...
 

Detailed Description

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

Definition at line 36 of file TGo4MbsEvent.h.

Constructor & Destructor Documentation

TGo4MbsEvent::TGo4MbsEvent ( )

Definition at line 25 of file TGo4MbsEvent.cxx.

References GO4TRACE.

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 36 of file TGo4MbsEvent.cxx.

References Clear(), 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 54 of file TGo4MbsEvent.cxx.

References Clear(), 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 79 of file TGo4MbsEvent.cxx.

References GO4TRACE, and SimpleInit().

TGo4MbsEvent::~TGo4MbsEvent ( )
virtual

Definition at line 105 of file TGo4MbsEvent.cxx.

References fbIsReference, fxSubEvArray, and GO4TRACE.

Member Function Documentation

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 323 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)
void TGo4MbsEvent::Clear ( Option_t *  t = "")
virtual

Method called by the event owner (analysis step) to clear the event element.

Reimplemented from TGo4EventElement.

Definition at line 117 of file TGo4MbsEvent.cxx.

References TGo4MbsSubEvent::Clear(), fbIsReference, GO4TRACE, NextSubEvent(), and ResetIterator().

Referenced by SimpleInit(), and TGo4MbsEvent().

Int_t TGo4MbsEvent::GetByteLen ( ) const
inline

Definition at line 137 of file TGo4MbsEvent.h.

References GetDlen().

Int_t TGo4MbsEvent::GetCount ( ) const
inline
Int_t TGo4MbsEvent::GetDlen ( ) const
inline
Short_t TGo4MbsEvent::GetDummy ( ) const
inline

Definition at line 146 of file TGo4MbsEvent.h.

References TGo4EventHeader10::fsDummy, and fxHeader.

Int_t TGo4MbsEvent::GetIntLen ( ) const
inline

Definition at line 136 of file TGo4MbsEvent.h.

References GetDlen().

s_bufhe * TGo4MbsEvent::GetMbsBufferHeader ( )

Access to the buffer header of the current event

Definition at line 317 of file TGo4MbsEvent.cxx.

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

Referenced by PrintMbsBufferHeader(), and PrintMbsEvent().

s_filhe * TGo4MbsEvent::GetMbsSourceHeader ( )

Access to the info header of the current mbs source

Definition at line 311 of file TGo4MbsEvent.cxx.

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

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 288 of file TGo4MbsEvent.cxx.

References TGo4MbsSubEvent::GetControl(), TGo4MbsSubEvent::GetProcid(), TGo4MbsSubEvent::GetSubcrate(), 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 300 of file TGo4MbsEvent.cxx.

References TGo4MbsSubEvent::GetProcid(), GO4TRACE, NextSubEvent(), and ResetIterator().

Short_t TGo4MbsEvent::GetSubtype ( ) const
inline

Definition at line 143 of file TGo4MbsEvent.h.

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

Referenced by PrintMbsEvent().

Short_t TGo4MbsEvent::GetTrigger ( ) const
inline
Short_t TGo4MbsEvent::GetType ( ) const
inline

Definition at line 140 of file TGo4MbsEvent.h.

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

Referenced by PrintMbsEvent().

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 272 of file TGo4MbsEvent.cxx.

References fiSubEvIndex, fxSubEvArray, GO4TRACE, and TGo4MbsSubEvent::IsFilled().

Referenced by AddSubEvent(), TXXXProc::BuildEvent(), TXXXUnpackProc::BuildEvent(), TGo4CompositeProcessor::BuildEvent(), TGo4SimpleEventProcessor::BuildSimpleEvent(), Clear(), GetSubEvent(), PrintMbsEvent(), TMeshUnpackProc::UnpackBranch1(), TMeshUnpackProc::UnpackBranch2(), and TMeshUnpackProc::UnpackBranch3().

void TGo4MbsEvent::PrintEvent ( )
virtual

Print event with default settings

Reimplemented from TGo4EventElement.

Definition at line 167 of file TGo4MbsEvent.cxx.

References PrintMbsEvent().

void TGo4MbsEvent::PrintMbsBufferHeader ( )
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 220 of file TGo4MbsEvent.cxx.

References f_ut_utime(), s_filhe::filhe_file, GetCount(), GetDlen(), GetMbsBufferHeader(), GetMbsSourceHeader(), TGo4MbsSubEvent::GetProcid(), GetSubtype(), GetTrigger(), GetType(), s_bufhe::l_buf, s_bufhe::l_time, NextSubEvent(), PrintMbsBufferHeader(), PrintMbsFileHeader(), TGo4MbsSubEvent::PrintMbsSubevent(), and ResetIterator().

Referenced by TGo4PrintProcessor::BuildEvent(), and PrintEvent().

void TGo4MbsEvent::PrintMbsFileHeader ( )
void TGo4MbsEvent::RemoveReference ( )

Definition at line 149 of file TGo4MbsEvent.cxx.

References fbIsReference, and SimpleInit().

void TGo4MbsEvent::ResetIterator ( )
inline
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 156 of file TGo4MbsEvent.cxx.

References SetCount(), SetDlen(), SetDummy(), SetSubtype(), SetTrigger(), and SetType().

Referenced by SimpleInit().

void TGo4MbsEvent::SetCount ( Int_t  count)
inline

Definition at line 151 of file TGo4MbsEvent.h.

References TGo4EventHeader10::fiCount, and fxHeader.

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

void TGo4MbsEvent::SetDlen ( Int_t  dlen)
inline
void TGo4MbsEvent::SetDummy ( Short_t  dummy)
inline

Definition at line 145 of file TGo4MbsEvent.h.

References TGo4EventHeader10::fsDummy, and 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 265 of file TGo4MbsEvent.cxx.

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

void TGo4MbsEvent::SetSubtype ( Short_t  subtype)
inline
void TGo4MbsEvent::SetTrigger ( Short_t  trigger)
inline

Definition at line 148 of file TGo4MbsEvent.h.

References TGo4EventHeader10::fsTrigger, and fxHeader.

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

void TGo4MbsEvent::SetType ( Short_t  type)
inline
void TGo4MbsEvent::SimpleInit ( )
private

Friends And Related Function Documentation

friend class TGo4MbsSource
friend

Definition at line 38 of file TGo4MbsEvent.h.

Member Data Documentation

Bool_t TGo4MbsEvent::fbIsReference
private

Indicates if this object is mere reference to another mbs event

Definition at line 179 of file TGo4MbsEvent.h.

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

Int_t TGo4MbsEvent::fiSubEvIndex
private

Subevent index in array, replacement for Iterator.

Definition at line 176 of file TGo4MbsEvent.h.

Referenced by NextSubEvent(), and ResetIterator().

TGo4EventHeader10 TGo4MbsEvent::fxHeader
private
TObjArray* TGo4MbsEvent::fxSubEvArray
private

dynamic array of subevents.

Definition at line 173 of file TGo4MbsEvent.h.

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


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