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