GSI Object Oriented Online Offline (Go4)  GO4-5.3.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
TGo4MbsSubEvent Class Reference

#include <TGo4MbsSubEvent.h>

+ Inheritance diagram for TGo4MbsSubEvent:

Public Member Functions

 TGo4MbsSubEvent ()
 
 TGo4MbsSubEvent (Int_t datasize)
 
virtual ~TGo4MbsSubEvent ()
 
virtual Int_t Fill ()
 
virtual void Clear (Option_t *t="")
 
virtual void PrintEvent ()
 
void PrintMbsSubevent (Bool_t longw=kTRUE, Bool_t hexw=kTRUE, Bool_t dataw=kTRUE)
 
void Set (Int_t dlen, Short_t type=10, Short_t subtype=1, Short_t procid=0, Char_t subcrate=0, Char_t ctrl=0)
 
void SetDlen (Int_t dlen)
 
Int_t GetDlen () const
 
Int_t GetByteLen () const
 
Int_t GetIntLen () const
 
void SetType (Short_t type)
 
Short_t GetType () const
 
void SetSubtype (Short_t subtype)
 
Short_t GetSubtype () const
 
void SetProcid (Short_t procid)
 
Short_t GetProcid () const
 
void SetSubcrate (Char_t subcrate)
 
Char_t GetSubcrate () const
 
void SetControl (Char_t control)
 
Char_t GetControl () const
 
void SetFullId (Int_t fullid)
 
Int_t GetFullId () const
 
Int_t GetAllocatedLength () const
 
Int_t * GetDataField ()
 
Int_t Data (Int_t i) const
 
Bool_t IsFilled () const
 
- 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 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 ReAllocate (Int_t newsize)
 

Private Attributes

Bool_t fbIsFilled
 
Bool_t fbIsDataOwner
 
TGo4SubEventHeader10 fxHeader
 
Int_t fiAllocLen
 
Int_t * fiData
 

Friends

class TGo4MbsSource
 
class TGo4MbsEvent
 

Additional Inherited Members

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

Detailed Description

Subevent class for gsi mbs data.

Definition at line 24 of file TGo4MbsSubEvent.h.

Constructor & Destructor Documentation

TGo4MbsSubEvent::TGo4MbsSubEvent ( )

Definition at line 21 of file TGo4MbsSubEvent.cxx.

References GO4TRACE.

TGo4MbsSubEvent::TGo4MbsSubEvent ( Int_t  datasize)

Definition at line 33 of file TGo4MbsSubEvent.cxx.

References fbIsDataOwner, fiAllocLen, fiData, and GO4TRACE.

TGo4MbsSubEvent::~TGo4MbsSubEvent ( )
virtual

Member Function Documentation

void TGo4MbsSubEvent::Clear ( Option_t *  t = "")
virtual
Int_t TGo4MbsSubEvent::Data ( Int_t  i) const
inline

Returns the value at position i in the fiData field. If Index i is out of DLen range, zero is returned.

Definition at line 90 of file TGo4MbsSubEvent.h.

References fiData, and GetAllocatedLength().

Referenced by main().

virtual Int_t TGo4MbsSubEvent::Fill ( )
inlinevirtual

Method called by the event owner (analysis step) to fill the event element from the set event source. Event source can be the source of the analysis step (if this is a raw event) or the event processor (if this is a reduced event). Fill method has to specify how the event source writes to the members of this event structure. Either by calling methods of the source (like myevent.a=fxEventSource->GetA(); etc ), or by direct copy to the member (like fxEventSource->FillMemoryAt(&myevent.a);)

Reimplemented from TGo4EventElement.

Definition at line 38 of file TGo4MbsSubEvent.h.

Int_t TGo4MbsSubEvent::GetAllocatedLength ( ) const
inline

Return length of allocated memory for data field.

Definition at line 82 of file TGo4MbsSubEvent.h.

References fiAllocLen.

Referenced by Data(), and ~TGo4MbsSubEvent().

Int_t TGo4MbsSubEvent::GetByteLen ( ) const
inline

Return raw data length in bytes

Definition at line 58 of file TGo4MbsSubEvent.h.

References GetDlen().

Referenced by GetIntLen().

Char_t TGo4MbsSubEvent::GetControl ( ) const
inline
Int_t* TGo4MbsSubEvent::GetDataField ( )
inline

Direct access to the fiData field pointer. User has to care about allocated range as specified in fiAllocLen.

Definition at line 86 of file TGo4MbsSubEvent.h.

References fiData.

Referenced by TXXXProc::BuildEvent(), TXXXUnpackProc::BuildEvent(), TGo4SimpleEventProcessor::BuildSimpleEvent(), PrintMbsSubevent(), TMeshUnpackProc::UnpackBranch1(), TMeshUnpackProc::UnpackBranch2(), and TMeshUnpackProc::UnpackBranch3().

Int_t TGo4MbsSubEvent::GetDlen ( ) const
inline
Int_t TGo4MbsSubEvent::GetFullId ( ) const
inline

Definition at line 79 of file TGo4MbsSubEvent.h.

References TGo4SubEventHeader10::fiFullid, and fxHeader.

Int_t TGo4MbsSubEvent::GetIntLen ( ) const
inline

Return raw data length in int (4-bytes)

Definition at line 61 of file TGo4MbsSubEvent.h.

References GetByteLen().

Referenced by TXXXProc::BuildEvent(), TXXXUnpackProc::BuildEvent(), and PrintMbsSubevent().

Short_t TGo4MbsSubEvent::GetProcid ( ) const
inline
Char_t TGo4MbsSubEvent::GetSubcrate ( ) const
inline
Short_t TGo4MbsSubEvent::GetSubtype ( ) const
inline
Short_t TGo4MbsSubEvent::GetType ( ) const
inline
Bool_t TGo4MbsSubEvent::IsFilled ( ) const
inline

true if this subevent was filled since the last Clear()

Definition at line 94 of file TGo4MbsSubEvent.h.

References fbIsFilled.

Referenced by TGo4MbsEvent::NextSubEvent().

void TGo4MbsSubEvent::PrintEvent ( )
virtual

Print event with default arguments

Reimplemented from TGo4EventElement.

Definition at line 66 of file TGo4MbsSubEvent.cxx.

References GO4TRACE, and PrintMbsSubevent().

void TGo4MbsSubEvent::PrintMbsSubevent ( Bool_t  longw = kTRUE,
Bool_t  hexw = kTRUE,
Bool_t  dataw = kTRUE 
)

Print MBS subevent

Parameters
longw- data in long format (4 bytes)
hexw- print in hex format
dataw- print raw data

Definition at line 95 of file TGo4MbsSubEvent.cxx.

References GetControl(), GetDataField(), GetDlen(), GetIntLen(), GetProcid(), GetSubcrate(), GetSubtype(), GetType(), and l.

Referenced by PrintEvent(), and TGo4MbsEvent::PrintMbsEvent().

void TGo4MbsSubEvent::ReAllocate ( Int_t  newsize)
private

Allocate the data field with newsize. Free the previously allocated field before, and set new fiAllocLen value.

Definition at line 171 of file TGo4MbsSubEvent.cxx.

References Clear(), TGo4Log::Debug(), fbIsDataOwner, fiAllocLen, fiData, and GO4TRACE.

Referenced by TGo4MbsEvent::AddSubEvent().

void TGo4MbsSubEvent::Set ( Int_t  dlen,
Short_t  type = 10,
Short_t  subtype = 1,
Short_t  procid = 0,
Char_t  subcrate = 0,
Char_t  ctrl = 0 
)

Definition at line 131 of file TGo4MbsSubEvent.cxx.

References SetDlen(), SetSubtype(), and SetType().

Referenced by Clear().

void TGo4MbsSubEvent::SetControl ( Char_t  control)
inline
void TGo4MbsSubEvent::SetDlen ( Int_t  dlen)
inline
void TGo4MbsSubEvent::SetFullId ( Int_t  fullid)
inline

Definition at line 78 of file TGo4MbsSubEvent.h.

References TGo4SubEventHeader10::fiFullid, and fxHeader.

void TGo4MbsSubEvent::SetProcid ( Short_t  procid)
inline
void TGo4MbsSubEvent::SetSubcrate ( Char_t  subcrate)
inline
void TGo4MbsSubEvent::SetSubtype ( Short_t  subtype)
inline
void TGo4MbsSubEvent::SetType ( Short_t  type)
inline

Friends And Related Function Documentation

friend class TGo4MbsEvent
friend

Definition at line 27 of file TGo4MbsSubEvent.h.

friend class TGo4MbsSource
friend

Definition at line 26 of file TGo4MbsSubEvent.h.

Member Data Documentation

Bool_t TGo4MbsSubEvent::fbIsDataOwner
private

True if subevent owns data field. note that this should not be streamed to root file!

Definition at line 108 of file TGo4MbsSubEvent.h.

Referenced by TGo4MbsEvent::AddSubEvent(), Clear(), ReAllocate(), TGo4MbsSubEvent(), and ~TGo4MbsSubEvent().

Bool_t TGo4MbsSubEvent::fbIsFilled
private

True if this subevent has already been filled in this event cycle. For subsequent subevents of identical header ids, prevents overwriting.

Definition at line 104 of file TGo4MbsSubEvent.h.

Referenced by TGo4MbsEvent::AddSubEvent(), Clear(), and IsFilled().

Int_t TGo4MbsSubEvent::fiAllocLen
private

Length of the allocated data field. Is not equal to the subevent data length which can be smaller. On filling the subevent, it is tested if the source data fits into the already allocated field; if the source data is larger, we will re-allocate the field with the larger size before filling it. If the source data is smaller, we leave the data field as is and use only the first DLen words.

Definition at line 121 of file TGo4MbsSubEvent.h.

Referenced by TGo4MbsEvent::AddSubEvent(), Clear(), GetAllocatedLength(), ReAllocate(), and TGo4MbsSubEvent().

Int_t* TGo4MbsSubEvent::fiData
private

Pointer to external integer field containing the subevent data. Length of this field may be changed dynamically depending on the maximum length of the incoming subevent of this type.

Definition at line 127 of file TGo4MbsSubEvent.h.

Referenced by TGo4MbsEvent::AddSubEvent(), Clear(), Data(), GetDataField(), ReAllocate(), TGo4MbsSubEvent(), and ~TGo4MbsSubEvent().

TGo4SubEventHeader10 TGo4MbsSubEvent::fxHeader
private

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