Changes needed on Sun
[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(const char* fileName, Bool_t addNumber = kTRUE);
18     virtual ~AliRawReaderFile();
19
20     virtual UInt_t   GetType() {return 0;};
21     virtual UInt_t   GetRunNumber() {return 0;};
22     virtual const UInt_t* GetEventId() {return 0;};
23     virtual const UInt_t* GetTriggerPattern() {return 0;};
24     virtual const UInt_t* GetDetectorPattern() {return 0;};
25     virtual const UInt_t* GetAttributes() {return 0;};
26     virtual UInt_t   GetGDCId() {return 0;};
27
28
29     virtual Bool_t   ReadMiniHeader();
30     virtual Bool_t   ReadNextData(UChar_t*& data);
31
32     virtual Bool_t   Reset();
33
34   protected :
35     Bool_t           OpenNextFile();
36
37     virtual Bool_t   ReadNext(UChar_t* data, Int_t size);
38
39     TString          fFileName;    // name of input files
40     Int_t            fFileNumber;  // number of current input file
41     fstream*         fStream;      // stream of raw digits
42     UChar_t*         fBuffer;      // buffer for payload
43     Int_t            fBufferSize;  // size of fBuffer in bytes
44
45     ClassDef(AliRawReaderFile, 0) // class for reading raw digits from a file
46 };
47
48 #endif