4 // Author: Fons Rademakers 26/11/99
5 // Updated: Dario Favretto 15/04/2003
7 /* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
8 * See cxx source for full Copyright notice */
10 //////////////////////////////////////////////////////////////////////////
14 // Set of classes defining the ALICE RAW event format. The AliRawEvent //
15 // class defines a RAW event. It consists of an AliEventHeader object //
16 // an AliEquipmentHeader object, an AliRawData object and an array of //
17 // sub-events, themselves also being AliRawEvents. The number of //
18 // sub-events depends on the number of DATE LDC's. //
19 // The AliRawEvent objects are written to a ROOT file using different //
20 // technologies, i.e. to local disk via AliRawDB or via rfiod using //
21 // AliRawRFIODB or via rootd using AliRawRootdDB or to CASTOR via //
22 // rootd using AliRawCastorDB (and for performance testing there is //
23 // also AliRawNullDB). //
24 // The AliRunDB class provides the interface to the run and file //
25 // catalogues (AliEn or plain MySQL). //
26 // The AliStats class provides statics information that is added as //
27 // a single keyed object to each raw file. //
28 // The AliTagDB provides an interface to a TAG database. //
29 // The AliMDC class is usid by the "alimdc" stand-alone program //
30 // that reads data directly from DATE. //
32 //////////////////////////////////////////////////////////////////////////
38 #ifndef ROOT_TObjArray
39 #include <TObjArray.h>
43 // Forward class declarations
44 class AliRawEventHeaderBase;
45 class AliRawEquipment;
47 #include "AliRawVEvent.h"
49 class AliRawEvent : public AliRawVEvent {
53 virtual ~AliRawEvent();
55 virtual AliRawEventHeaderBase *GetHeader();
56 virtual Int_t GetNEquipments() const { return fNEquipments; }
57 virtual AliRawEquipment *GetEquipment(Int_t index) const;
58 virtual Int_t GetNSubEvents() const { return fNSubEvents; }
59 virtual AliRawEvent *GetSubEvent(Int_t index);
62 Int_t fNEquipments; // number of valid equipments
63 Int_t fNSubEvents; // number of valid sub-events
64 AliRawEventHeaderBase *fEvtHdr; // event header object
65 TObjArray *fEquipments; // AliRawEquipment's
66 TObjArray *fSubEvents; // sub AliRawEvent's
68 AliRawEvent(const AliRawEvent& rawEvent);
69 AliRawEvent& operator = (const AliRawEvent& rawEvent);
71 ClassDef(AliRawEvent,3) // ALICE raw event object