#ifndef ALIRAWEVENT_H
#define ALIRAWEVENT_H
-// @(#)alimdc:$Name$:$Id$
+// @(#) $Id$
// Author: Fons Rademakers 26/11/99
// Updated: Dario Favretto 15/04/2003
#include <TObject.h>
#endif
+#ifndef ROOT_TObjArray
+#include <TObjArray.h>
+#endif
+
// Forward class declarations
-class AliRawEventHeader;
-class AliRawEquipmentHeader;
-class AliRawData;
+class AliRawEventHeaderBase;
+class AliRawEquipment;
class AliRawEvent : public TObject {
AliRawEvent();
virtual ~AliRawEvent();
- AliRawEventHeader *GetHeader();
- AliRawEquipmentHeader *GetEquipmentHeader();
- AliRawData *GetRawData();
+ AliRawEventHeaderBase *GetHeader(char*& data);
+ AliRawEventHeaderBase *GetHeader();
+ Int_t GetNEquipments() const { return fNEquipments; }
+ AliRawEquipment *NextEquipment();
+ AliRawEquipment *GetEquipment(Int_t index) const;
Int_t GetNSubEvents() const { return fNSubEvents; }
AliRawEvent *NextSubEvent();
AliRawEvent *GetSubEvent(Int_t index) const;
void Reset();
private:
+ Int_t fNEquipments; // number of valid equipments
Int_t fNSubEvents; // number of valid sub-events
- AliRawEventHeader *fEvtHdr; // event header object
- AliRawEquipmentHeader *fEqpHdr; // equipment header
- AliRawData *fRawData; // raw data container
+ AliRawEventHeaderBase *fEvtHdr; // event header object
+ TObjArray *fEquipments; // AliRawEquipment's
TObjArray *fSubEvents; // sub AliRawEvent's
AliRawEvent(const AliRawEvent& rawEvent);
AliRawEvent& operator = (const AliRawEvent& rawEvent);
- ClassDef(AliRawEvent,1) // ALICE raw event object
+ ClassDef(AliRawEvent,2) // ALICE raw event object
};
#endif