Line data Source code
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 :
6 : /* $Id$ */
7 :
8 : ///////////////////////////////////////////////////////////////////////////////
9 : ///
10 : /// This is a class for reading raw data from a date file or event.
11 : ///
12 : ///////////////////////////////////////////////////////////////////////////////
13 :
14 : #include "AliRawReader.h"
15 :
16 : struct eventHeaderStruct;
17 : struct equipmentHeaderStruct;
18 :
19 :
20 : class AliRawReaderDate: public AliRawReader {
21 : public :
22 : AliRawReaderDate(void* event, Bool_t owner = kFALSE);
23 : AliRawReaderDate(const char* fileName, Int_t eventNumber = -1);
24 : virtual ~AliRawReaderDate();
25 :
26 : virtual UInt_t GetType() const;
27 : virtual UInt_t GetRunNumber() const;
28 : virtual const UInt_t* GetEventId() const;
29 : virtual const UInt_t* GetTriggerPattern() const;
30 : virtual const UInt_t* GetDetectorPattern() const;
31 : virtual const UInt_t* GetAttributes() const;
32 : virtual const UInt_t* GetSubEventAttributes() const;
33 : virtual UInt_t GetLDCId() const;
34 : virtual UInt_t GetGDCId() const;
35 : virtual UInt_t GetTimestamp() const;
36 :
37 : virtual Int_t GetEquipmentSize() const;
38 : virtual Int_t GetEquipmentType() const;
39 : virtual Int_t GetEquipmentId() const;
40 : virtual const UInt_t* GetEquipmentAttributes() const;
41 : virtual Int_t GetEquipmentElementSize() const;
42 : virtual Int_t GetEquipmentHeaderSize() const;
43 :
44 : virtual Bool_t ReadHeader();
45 : virtual Bool_t ReadNextData(UChar_t*& data);
46 : virtual Bool_t ReadNext(UChar_t* data, Int_t size);
47 :
48 : virtual Bool_t Reset();
49 :
50 : virtual Bool_t NextEvent();
51 : virtual Bool_t RewindEvents();
52 :
53 : virtual Int_t CheckData() const;
54 :
55 : virtual AliRawReader* CloneSingleEvent() const;
56 :
57 : protected :
58 : FILE* fFile; // DATE file
59 : eventHeaderStruct* fEvent; // raw data super event
60 : eventHeaderStruct* fSubEvent; // raw data sub event
61 : equipmentHeaderStruct* fEquipment; // raw data equipment header
62 :
63 : UChar_t* fPosition; // current position in the raw data
64 : UChar_t* fEnd; // end position of the current data block
65 :
66 : Bool_t fOwner; // is raw-reader owner of the raw event or not
67 :
68 : private:
69 : AliRawReaderDate(const AliRawReaderDate& rawReader); // Not implemented
70 : AliRawReaderDate& operator = (const AliRawReaderDate& rawReader); // Not implemented
71 :
72 128 : ClassDef(AliRawReaderDate, 0) // class for reading raw digits from a root file
73 : };
74 :
75 : #endif
|