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