#ifndef ALIACORDERAWREADER_H
#define ALIACORDERAWREADER_H
#include <TNamed.h>
#include "AliRawReader.h"
class AliACORDERawReader : public TNamed {
public :
AliACORDERawReader(AliRawReader *rawReader,Bool_t isOnline = kFALSE) ;
virtual ~AliACORDERawReader();
AliACORDERawReader(const AliACORDERawReader& o): TNamed(o),fRawReader(0),fData(NULL),fPosition(0),fIsOnline(kFALSE),fDataSize(0)
{
fWord[0] = fWord[1] = fWord[2] = fWord[3] = 0;
}
AliACORDERawReader& operator=(const AliACORDERawReader&) { return *this; }
Bool_t Next();
Int_t GetPosition();
UInt_t GetNextWord();
Int_t GetData( Int_t channel, Int_t hit) {return fAllData[channel][hit];}
enum EACORDERawReaderError {
kIncorrectDataSize = 1,
kWrongDRMHeader = 2,
kWrongDRMTrailer = 3,
kWrongTRMHeader = 4,
kWrongTRMTrailer = 5,
kWrongChain0Header = 6,
kWrongChain0Trailer = 7,
kWrongChain1Header = 8,
kWrongChain1Trailer = 9,
kIncorrectLUT = 10
};
Bool_t IsOnlineMode () {return fIsOnline;}
protected :
AliRawReader* fRawReader;
UChar_t* fData;
Int_t fPosition;
Bool_t fIsOnline;
UInt_t fWord[4];
Int_t fDataSize;
Int_t fAllData[110][50];
enum EACORDERawStreamError {
kRawDataSizeErr = 1
};
ClassDef(AliACORDERawReader,3)
};
#endif