readers updated (mini header -> data header)
[u/mrichter/AliRoot.git] / RAW / AliRawReaderFile.h
1 #ifndef ALIRAWREADERFILE_H
2 #define ALIRAWREADERFILE_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 #include "AliRawReader.h"
7 #ifdef __CINT__
8 class fstream;
9 #else
10 #include <Riostream.h>
11 #endif
12 #include <TString.h>
13
14
15 class AliRawReaderFile: public AliRawReader {
16   public :
17     AliRawReaderFile(Int_t eventNumber);
18     AliRawReaderFile(const char* dirName);
19     AliRawReaderFile(const AliRawReaderFile& rawReader);
20     AliRawReaderFile& operator = (const AliRawReaderFile& rawReader);
21     virtual ~AliRawReaderFile();
22
23     virtual UInt_t   GetType() const {return 0;};
24     virtual UInt_t   GetRunNumber() const {return 0;};
25     virtual const UInt_t* GetEventId() const {return 0;};
26     virtual const UInt_t* GetTriggerPattern() const {return 0;};
27     virtual const UInt_t* GetDetectorPattern() const {return 0;};
28     virtual const UInt_t* GetAttributes() const {return 0;};
29     virtual UInt_t   GetLDCId() const {return 0;};
30     virtual UInt_t   GetGDCId() const {return 0;};
31
32     virtual Int_t    GetEquipmentSize() const {return 0;};
33     virtual Int_t    GetEquipmentType() const {return 0;};
34     virtual Int_t    GetEquipmentId() const {return fEquipmentId;};
35     virtual const UInt_t* GetEquipmentAttributes() const {return NULL;};
36     virtual Int_t    GetEquipmentElementSize() const {return 0;};
37
38     virtual Bool_t   ReadHeader();
39     virtual Bool_t   ReadNextData(UChar_t*& data);
40
41     virtual Bool_t   Reset();
42
43   protected :
44     Bool_t           OpenNextFile();
45
46     virtual Bool_t   ReadNext(UChar_t* data, Int_t size);
47
48     TString          fDirName;     // name of the input directory
49     void*            fDirectory;   // pointer to the input directory
50     fstream*         fStream;      // stream of raw digits
51     Int_t            fEquipmentId; // equipment ID from file name
52     UChar_t*         fBuffer;      // buffer for payload
53     Int_t            fBufferSize;  // size of fBuffer in bytes
54
55     ClassDef(AliRawReaderFile, 0) // class for reading raw digits from a file
56 };
57
58 #endif