]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - RAW/AliRawEventHeaderBase.h
A little task for checking the c*tau of the strange particles
[u/mrichter/AliRoot.git] / RAW / AliRawEventHeaderBase.h
index 97d6536e7c426970a7e772bb414a36b070766691..0e9db5b051240db70587469dd60b7b7183d931d1 100644 (file)
@@ -12,9 +12,7 @@
 //                                                                      //
 //////////////////////////////////////////////////////////////////////////
 
-//#ifndef ROOT_TObject
-//#include <TObject.h>
-//#endif
+#include <TObject.h>
 
 class AliRawEventHeaderBase : public TObject {
 
@@ -22,9 +20,9 @@ public:
    AliRawEventHeaderBase();
    virtual ~AliRawEventHeaderBase() { if (fExtendedData) delete [] fExtendedData; }
 
-   void         *HeaderBaseBegin() { return (void *) &fSize; }
+   void         *HeaderBaseBegin() const { return (void *) &fSize; }
    Int_t         HeaderBaseSize() const { return (Long_t) &fVersion - (Long_t) &fSize + sizeof(fVersion); }
-   void         *HeaderBegin();
+   void         *HeaderBegin() const;
    Int_t         HeaderSize() const;
    Bool_t        DataIsSwapped() const { return fIsSwapped; }
    Bool_t        IsSwapped() const { return (fMagic == fgkEventMagicNumberSwapped) ? kTRUE : kFALSE; }
@@ -54,6 +52,11 @@ public:
 
    void          Print( const Option_t* opt ="" ) const;
 
+   Int_t         GetFirstEqIndex() const { return fFirstEqIndex; }
+   Int_t         GetLastEqIndex() const { return fLastEqIndex; }
+   void          AddEqIndex(Int_t index);
+   void          Reset();
+
    // The following enumeration can be used once the kEventTypeMask has been
    // applied to the raw event type
    enum EAliRawEventType {
@@ -86,19 +89,26 @@ private:
    char  *fExtendedData;  //[fExtendedDataSize] pointer to header extension data 
 
    Bool_t fIsSwapped;     // is data swapped
+   Int_t  fHeaderSize;    //! cache for the header size estimate
+   void  *fHeaderBegin;   //! cache for the header begin pointer
+
+   Int_t  fFirstEqIndex;  // index of the first equipment
+   Int_t  fLastEqIndex;   // index of the last equipment
 
    static const UInt_t fgkEventMagicNumber        = 0xDA1E5AFE; // magic word
    static const UInt_t fgkEventMagicNumberSwapped = 0xFE5A1EDA; // swapped magic word
 
-   ClassDef(AliRawEventHeaderBase,2)  // Alice raw event header base class
+   ClassDef(AliRawEventHeaderBase,4)  // Alice raw event header base class
 };
 
 #define EVENT_HEADER_VERSION(AA,BB) AliRawEventHeaderV##AA##_##BB
+#define INIT_HEADER_VARS
 
 #define START_EVENT_HEADER(AA,BB) \
 class AliRawEventHeaderV##AA##_##BB:public AliRawEventHeaderBase { \
 public: \
-   AliRawEventHeaderV##AA##_##BB():AliRawEventHeaderBase() {}; \
+ AliRawEventHeaderV##AA##_##BB():AliRawEventHeaderBase(),              \
+   INIT_HEADER_VARS {};        \
    virtual ~AliRawEventHeaderV##AA##_##BB() {}; \
 private: