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); |
c946ab02 |
23 | AliRawReaderDate(const char* fileName, Int_t eventNumber); |
16048fcf |
24 | AliRawReaderDate(const AliRawReaderDate& rawReader); |
25 | AliRawReaderDate& operator = (const AliRawReaderDate& rawReader); |
c946ab02 |
26 | virtual ~AliRawReaderDate(); |
27 | |
39f9963f |
28 | void RequireHeader(Bool_t required = kTRUE) |
29 | {fRequireHeader = required;}; |
16048fcf |
30 | |
31 | virtual UInt_t GetType() const; |
32 | virtual UInt_t GetRunNumber() const; |
33 | virtual const UInt_t* GetEventId() const; |
34 | virtual const UInt_t* GetTriggerPattern() const; |
35 | virtual const UInt_t* GetDetectorPattern() const; |
36 | virtual const UInt_t* GetAttributes() const; |
c946ab02 |
37 | virtual UInt_t GetLDCId() const; |
16048fcf |
38 | virtual UInt_t GetGDCId() const; |
39 | |
c946ab02 |
40 | virtual Int_t GetEquipmentSize() const; |
41 | virtual Int_t GetEquipmentType() const; |
42 | virtual Int_t GetEquipmentId() const; |
43 | virtual const UInt_t* GetEquipmentAttributes() const; |
44 | virtual Int_t GetEquipmentElementSize() const; |
45 | |
46 | virtual Bool_t ReadHeader(); |
16048fcf |
47 | virtual Bool_t ReadNextData(UChar_t*& data); |
48 | |
49 | virtual Bool_t Reset(); |
50 | |
b4857df7 |
51 | virtual Int_t CheckData() const; |
52 | |
16048fcf |
53 | protected : |
54 | virtual Bool_t ReadNext(UChar_t* data, Int_t size); |
55 | |
39f9963f |
56 | Bool_t fRequireHeader; // if false, data without header is accepted |
c946ab02 |
57 | |
16048fcf |
58 | eventHeaderStruct* fEvent; // raw data super event |
59 | eventHeaderStruct* fSubEvent; // raw data sub event |
c946ab02 |
60 | equipmentHeaderStruct* fEquipment; // raw data equipment header |
61 | Bool_t fIsOwner; // flag for ownership of fEvent |
16048fcf |
62 | |
63 | UChar_t* fPosition; // current position in the raw data |
c946ab02 |
64 | UChar_t* fEnd; // end position of the current data block |
16048fcf |
65 | |
66 | ClassDef(AliRawReaderDate, 0) // class for reading raw digits from a root file |
67 | }; |
68 | |
69 | #endif |