Line data Source code
1 : #ifndef ALIRAWEVENT_H
2 : #define ALIRAWEVENT_H
3 : // @(#) $Id$
4 : // Author: Fons Rademakers 26/11/99
5 : // Updated: Dario Favretto 15/04/2003
6 :
7 : /* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
8 : * See cxx source for full Copyright notice */
9 :
10 : //////////////////////////////////////////////////////////////////////////
11 : // //
12 : // AliRawEvent //
13 : // //
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. //
31 : // //
32 : //////////////////////////////////////////////////////////////////////////
33 :
34 : #ifndef ROOT_TObject
35 : #include <TObject.h>
36 : #endif
37 :
38 : #ifndef ROOT_TObjArray
39 : #include <TObjArray.h>
40 : #endif
41 :
42 :
43 : // Forward class declarations
44 : class AliRawEventHeaderBase;
45 :
46 : #include "AliRawVEvent.h"
47 :
48 : class AliRawEvent : public AliRawVEvent {
49 :
50 : public:
51 : AliRawEvent();
52 : virtual ~AliRawEvent();
53 :
54 : virtual AliRawEventHeaderBase *GetHeader();
55 0 : virtual Int_t GetNEquipments() const { return fNEquipments; }
56 : virtual AliRawVEquipment *GetEquipment(Int_t index) const;
57 0 : virtual Int_t GetNSubEvents() const { return fNSubEvents; }
58 : virtual AliRawVEvent *GetSubEvent(Int_t index);
59 :
60 : private:
61 : Int_t fNEquipments; // number of valid equipments
62 : Int_t fNSubEvents; // number of valid sub-events
63 : AliRawEventHeaderBase *fEvtHdr; // event header object
64 : TObjArray *fEquipments; // AliRawEquipment's
65 : TObjArray *fSubEvents; // sub AliRawEvent's
66 :
67 : AliRawEvent(const AliRawEvent& rawEvent);
68 : AliRawEvent& operator = (const AliRawEvent& rawEvent);
69 :
70 128 : ClassDef(AliRawEvent,3) // ALICE raw event object
71 : };
72 :
73 : #endif
|