Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

TMidasEvent.h

Go to the documentation of this file.
00001 // TMidasEvent.h.
00002 // author  JEP, K.Olchanski, J. Chuma.
00003 // brief   MIDAS-event class.
00004 // version 1.2.
00005 // date    August 2003.
00006 //
00007 #ifndef TMIDASEVENT_H
00008 #define TMIDASEVENT_H
00009 
00010 #include "TMidasBanks.h"
00011 
00012 class TMidasEvent {
00013 public:
00014   TMidasEvent();
00015   TMidasEvent(const TMidasEvent &);
00016   ~TMidasEvent();
00017   TMidasEvent & operator=(const TMidasEvent &);
00018   void Clear(const Char_t * = "");
00019   void Print(const Char_t * = "") const;
00020   Int_t FindBank(const Char_t *, ULong_t *, ULong_t *, void **) const;
00021   Int_t LocateBank(const Char_t *, void *) const;
00022   Int_t SwapBytes(Bool_t);
00023   Char_t * GetData() const;
00024   const Char_t * GetBankList(UShort_t &) const;
00025   Short_t GetEventId() const;
00026   Short_t GetTriggerMask() const;
00027   ULong_t GetSerialNumber() const;
00028   ULong_t GetTimeStamp() const;
00029   ULong_t GetDataSize() const;
00030   EventHeader_t * GetEventHeader();
00031   void AllocateData();
00032   void Set(Char_t *);
00033   void SetData(Char_t *);
00034   void SetEventId(Short_t);
00035   void SetTriggerMask(Short_t);
00036   void SetSerialNumber(ULong_t);
00037   void SetTimeStamp(ULong_t);
00038   void SetDataSize(ULong_t);
00039   Bool_t IsGoodSize() const;
00040   Bool_t IsTriggerMask(Short_t) const;
00041   void SwapBytesEventHeader();
00042 
00045   enum EEventId {kEV_BOR = 0x8000, kEV_EOR = 0x8001, kEV_MESS = 0x8002};
00046 
00047 private:
00048   Int_t IterateBank(void *, Bank_t **, void *) const;
00049   Int_t IterateBank32(void *, Bank32_t **, void *) const;
00050 
00053   const Int_t fBankListMax;
00056   const Int_t fStringBankListMax;
00059   Char_t *fData;
00064   Bool_t fAllocated;
00067   EventHeader_t fEventHeader;
00068 };
00069 
00070 inline void TMidasEvent::SetEventId(Short_t eventId)
00071 { 
00075   fEventHeader.fEventId = eventId;
00076 }
00077 
00078 inline void TMidasEvent::SetTriggerMask(Short_t triggerMask)
00079 {
00083   fEventHeader.fTriggerMask = triggerMask;
00084 }
00085 
00086 inline void TMidasEvent::SetSerialNumber(ULong_t serialNumber)
00087 {
00091   fEventHeader.fSerialNumber = serialNumber;
00092 }
00093 
00094 inline void TMidasEvent::SetTimeStamp(ULong_t timeStamp)
00095 {
00099   fEventHeader.fTimeStamp = timeStamp;
00100 }
00101 
00102 inline void TMidasEvent::SetDataSize(ULong_t dataSize)
00103 {
00107   fEventHeader.fDataSize = dataSize;
00108 }
00109 
00110 inline void TMidasEvent::SetData(Char_t *data)
00111 {
00116   fData = data;
00117   fAllocated = false;
00118 }
00119 
00120 inline Short_t TMidasEvent::GetEventId() const
00121 {
00125   return fEventHeader.fEventId;
00126 }
00127 
00128 inline Short_t TMidasEvent::GetTriggerMask() const
00129 {
00133   return fEventHeader.fTriggerMask;
00134 }
00135 
00136 inline ULong_t TMidasEvent::GetSerialNumber() const
00137 {
00142   return fEventHeader.fSerialNumber;
00143 }
00144 
00145 inline ULong_t TMidasEvent::GetTimeStamp() const
00146 {
00150   return fEventHeader.fTimeStamp;
00151 }
00152 
00153 inline ULong_t TMidasEvent::GetDataSize() const
00154 {
00158   return fEventHeader.fDataSize;
00159 }
00160 
00161 inline Char_t * TMidasEvent::GetData() const
00162 {
00166   return fData;
00167 }
00168 
00169 inline EventHeader_t * TMidasEvent::GetEventHeader()
00170 {
00174   return &fEventHeader;
00175 }
00176 
00177 inline Bool_t TMidasEvent::IsGoodSize() const
00178 {
00182   return fEventHeader.fDataSize > 0 || fEventHeader.fDataSize <= 1024 * 1024;
00183 }
00184 
00185 inline Bool_t TMidasEvent::IsTriggerMask(Short_t triggerMask) const
00186 {
00192   return fEventHeader.fTriggerMask == triggerMask;
00193 }
00194 
00195 #endif // TMidasEvent.h

Generated on Mon Jan 8 11:54:31 2007 for DragonRoot by  doxygen 1.3.9.1