1 #ifndef ALIFITRAWREADER_H
2 #define ALIFITRAWREADER_H
3 /***************************************************************************
4 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
7 * Alla Maevskaya INR RAS alla@inr.ru
9 * See cxx source for full Copyright notice
10 ***************************************************************************/
14 #include "AliRawReader.h"
17 class AliFITRawReader : public TTask {
20 AliFITRawReader(AliRawReader *rawReader) ;
22 virtual ~AliFITRawReader();
23 AliFITRawReader(const AliFITRawReader& o): TTask(o),
29 { for ( Int_t k=0; k<500; k++) fAllData[k] = -1;}
31 AliFITRawReader& operator=(const AliFITRawReader&) { return *this; }
34 Bool_t Next(); //read next raw digit
37 Int_t GetData( Int_t channel) {return fAllData[channel];}
40 enum EFITRawReaderError {
41 kIncorrectDataSize = 1,
46 kWrongChain0Header = 6,
47 kWrongChain0Trailer = 7,
48 kWrongChain1Header = 8,
49 kWrongChain1Trailer = 9,
53 Int_t GetTRMBunchID() {return fBunchID;};
55 void SetPrintout(Bool_t pp ) {fPrintout = pp;}
56 UInt_t GetChannel(Int_t iTRM, Int_t iTDC, Int_t iChain, Int_t ichannel);
59 AliRawReader* fRawReader; // object for reading the raw data
60 UChar_t* fData; // raw data
61 Int_t fPosition; // current (32 bit) position in fData
62 Int_t fBunchID; //bunchID from TRM chain header
63 Bool_t fPrintout; // advanced printout
64 Int_t fAllData[500]; // container for raw data
66 ClassDef(AliFITRawReader,1) //class for reading FIT Raw data