]>
Commit | Line | Data |
---|---|---|
16048fcf | 1 | #ifndef ALIRAWREADERDATE_H |
2 | #define ALIRAWREADERDATE_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
bea6b2a4 | 6 | /* $Id$ */ |
7 | ||
8 | /////////////////////////////////////////////////////////////////////////////// | |
9 | /// | |
10 | /// This is a class for reading raw data from a date file or event. | |
11 | /// | |
12 | /////////////////////////////////////////////////////////////////////////////// | |
13 | ||
16048fcf | 14 | #include "AliRawReader.h" |
15 | ||
16 | struct eventHeaderStruct; | |
c946ab02 | 17 | struct equipmentHeaderStruct; |
16048fcf | 18 | |
19 | ||
20 | class AliRawReaderDate: public AliRawReader { | |
21 | public : | |
22 | AliRawReaderDate(void* event); | |
dd9a70fe | 23 | AliRawReaderDate(const char* fileName, Int_t eventNumber = -1); |
c946ab02 | 24 | virtual ~AliRawReaderDate(); |
25 | ||
39f9963f | 26 | void RequireHeader(Bool_t required = kTRUE) |
27 | {fRequireHeader = required;}; | |
16048fcf | 28 | |
29 | virtual UInt_t GetType() const; | |
30 | virtual UInt_t GetRunNumber() const; | |
31 | virtual const UInt_t* GetEventId() const; | |
32 | virtual const UInt_t* GetTriggerPattern() const; | |
33 | virtual const UInt_t* GetDetectorPattern() const; | |
34 | virtual const UInt_t* GetAttributes() const; | |
c946ab02 | 35 | virtual UInt_t GetLDCId() const; |
16048fcf | 36 | virtual UInt_t GetGDCId() const; |
37 | ||
c946ab02 | 38 | virtual Int_t GetEquipmentSize() const; |
39 | virtual Int_t GetEquipmentType() const; | |
40 | virtual Int_t GetEquipmentId() const; | |
41 | virtual const UInt_t* GetEquipmentAttributes() const; | |
42 | virtual Int_t GetEquipmentElementSize() const; | |
43 | ||
44 | virtual Bool_t ReadHeader(); | |
16048fcf | 45 | virtual Bool_t ReadNextData(UChar_t*& data); |
46 | ||
47 | virtual Bool_t Reset(); | |
48 | ||
dd9a70fe | 49 | virtual Bool_t NextEvent(); |
50 | virtual Bool_t RewindEvents(); | |
51 | ||
b4857df7 | 52 | virtual Int_t CheckData() const; |
53 | ||
16048fcf | 54 | protected : |
55 | virtual Bool_t ReadNext(UChar_t* data, Int_t size); | |
56 | ||
39f9963f | 57 | Bool_t fRequireHeader; // if false, data without header is accepted |
c946ab02 | 58 | |
dd9a70fe | 59 | FILE* fFile; // DATE file |
16048fcf | 60 | eventHeaderStruct* fEvent; // raw data super event |
61 | eventHeaderStruct* fSubEvent; // raw data sub event | |
c946ab02 | 62 | equipmentHeaderStruct* fEquipment; // raw data equipment header |
16048fcf | 63 | |
64 | UChar_t* fPosition; // current position in the raw data | |
c946ab02 | 65 | UChar_t* fEnd; // end position of the current data block |
16048fcf | 66 | |
dd9a70fe | 67 | private: |
68 | AliRawReaderDate(const AliRawReaderDate& rawReader); | |
69 | AliRawReaderDate& operator = (const AliRawReaderDate& rawReader); | |
70 | ||
16048fcf | 71 | ClassDef(AliRawReaderDate, 0) // class for reading raw digits from a root file |
72 | }; | |
73 | ||
74 | #endif |