3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
10 #include <Riostream.h>
13 struct AliMiniHeader {
16 UChar_t fMagicWord[3];
18 UChar_t fCompressionFlag;
22 class AliRawReader: public TObject {
24 AliRawReader(const char* fileName, Bool_t addNumber = kTRUE);
25 virtual ~AliRawReader();
27 inline Int_t GetDetectorID() const {return fMiniHeader.fDetectorID;};
28 inline Int_t GetDDLID() const {return fMiniHeader.fDDLID;};
29 inline Int_t GetVersion() const {return fMiniHeader.fVersion;};
30 inline Bool_t IsCompressed() const {return fMiniHeader.fCompressionFlag != 0;};
32 Bool_t ReadNextInt(UInt_t& data);
33 Bool_t ReadNextShort(UShort_t& data);
34 Bool_t ReadNextChar(UChar_t& data);
37 Bool_t OpenNextFile();
39 Bool_t ReadMiniHeader();
41 const char* fFileName; // name of input files
42 Int_t fFileNumber; // number of current input file
43 fstream* fStream; // stream of raw digits
44 AliMiniHeader fMiniHeader; // current mini header
45 Int_t fCount; // counter of bytes to be read for current DDL
47 ClassDef(AliRawReader, 0) // base class for reading raw digits