Replacing string comparison by coparison of enums
[u/mrichter/AliRoot.git] / RAW / AliRawEquipmentV2.h
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    ClassDef(AliRawEquipmentV2,1)  // ALICE raw equipment object
66 };
67
68 #endif