Replacing string comparison by coparison of enums
[u/mrichter/AliRoot.git] / RAW / AliRawVEvent.h
CommitLineData
33314186 1#ifndef ALIRAWVEVENT_H
2#define ALIRAWVEVENT_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// AliRawVEvent //
11// //
12// Set of classes defining the ALICE RAW event format. The AliRawVEvent //
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 AliRawVEvents. The number of //
16// sub-events depends on the number of DATE LDC's. //
17// The AliRawVEvent 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
36#ifndef ROOT_TClonesArray
37#include <TClonesArray.h>
38#endif
39
40
41// Forward class declarations
42class AliRawEventHeaderBase;
43class AliRawVEquipment;
44
45
46class AliRawVEvent : public TObject {
47
48public:
49 AliRawVEvent() { }
50 virtual ~AliRawVEvent() { }
51
52 virtual AliRawEventHeaderBase *GetHeader() = 0;
53 virtual Int_t GetNEquipments() const = 0;
54 virtual AliRawVEquipment *GetEquipment(Int_t index) const = 0;
55 virtual Int_t GetNSubEvents() const = 0;
56 virtual AliRawVEvent *GetSubEvent(Int_t index) = 0;
57
58private:
59
60 AliRawVEvent(const AliRawVEvent& rawEvent);
61 AliRawVEvent& operator = (const AliRawVEvent& rawEvent);
62
63 ClassDef(AliRawVEvent,1) // ALICE raw event object
64};
65
66#endif