Line data Source code
1 : #ifndef ALIRAWEQUIPMENTV2_H
2 : #define ALIRAWEQUIPMENTV2_H
3 : // Author: Cvetan Cheshkov 11/05/2009
4 :
5 : /* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
6 : * See cxx source for full Copyright notice */
7 :
8 : //////////////////////////////////////////////////////////////////////////
9 : // //
10 : // AliRawEquipmentV2 //
11 : // //
12 : // Set of classes defining the ALICE RAW event format. The AliRawEventV2//
13 : // class defines a RAW event. It consists of an AliEventHeader object //
14 : // an AliEquipmentHeader object, an AliRawData object and an array of //
15 : // sub-events, themselves also being AliRawEventV2s. The number of //
16 : // sub-events depends on the number of DATE LDC's. //
17 : // The AliRawEventV2 objects are written to a ROOT file using different //
18 : // technologies, i.e. to local disk via AliRawDB or via rfiod using //
19 : // AliRawRFIODB or via rootd using AliRawRootdDB or to CASTOR via //
20 : // rootd using AliRawCastorDB (and for performance testing there is //
21 : // also AliRawNullDB). //
22 : // The AliRunDB class provides the interface to the run and file //
23 : // catalogues (AliEn or plain MySQL). //
24 : // The AliStats class provides statics information that is added as //
25 : // a single keyed object to each raw file. //
26 : // The AliTagDB provides an interface to a TAG database. //
27 : // The AliMDC class is usid by the "alimdc" stand-alone program //
28 : // that reads data directly from DATE. //
29 : // //
30 : //////////////////////////////////////////////////////////////////////////
31 :
32 : #ifndef ROOT_TObject
33 : #include <TObject.h>
34 : #endif
35 : #include <TRef.h>
36 :
37 : // Forward class declarations
38 : class AliRawDataArrayV2;
39 :
40 : #include "AliRawVEquipment.h"
41 : #include "AliRawEquipmentHeader.h"
42 :
43 : class AliRawEquipmentV2 : public AliRawVEquipment {
44 :
45 : public:
46 : AliRawEquipmentV2();
47 : virtual ~AliRawEquipmentV2();
48 :
49 : virtual AliRawEquipmentHeader *GetEquipmentHeader();
50 : virtual AliRawData *GetRawData();
51 : void Reset();
52 : virtual void Clear(Option_t* = "");
53 : AliRawData *NextRawData(AliRawDataArrayV2 *array);
54 :
55 : virtual void CloneRawData(const AliRawData *rawData);
56 :
57 : private:
58 : AliRawEquipmentHeader fEqpHdr; // equipment header
59 : AliRawData *fRawData; //! raw data container
60 : TRef fRawDataRef; // reference to raw data container
61 :
62 : AliRawEquipmentV2(const AliRawEquipmentV2& eq);
63 : AliRawEquipmentV2& operator = (const AliRawEquipmentV2& eq);
64 :
65 136 : ClassDef(AliRawEquipmentV2,1) // ALICE raw equipment object
66 : };
67 :
68 : #endif
|