1 #ifndef ALIACORDERAWREADER_H
2 #define ALIACORDERAWREADER_H
3 /***************************************************************************
4 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
7 * See cxx source for full Copyright notice
8 ***************************************************************************/
10 // Mario Rodriguez Cahuantzi <mrodrigu@mail.cern.ch>
11 // Arturo Fernandez Tellez <afernan@mail.cern.ch>
14 #include "AliRawReader.h"
17 class AliACORDERawReader : public TNamed {
20 AliACORDERawReader(AliRawReader *rawReader,Bool_t isOnline = kFALSE) ;
21 //AliACORDERawReader(AliRawReader *rawReader,Bool_t isOnline = kTRUE) ;
23 virtual ~AliACORDERawReader();
24 AliACORDERawReader(const AliACORDERawReader& o): TNamed(o),fRawReader(0),fData(NULL),fPosition(0),fIsOnline(kFALSE),fDataSize(0)
26 fWord[0] = fWord[1] = fWord[2] = fWord[3] = 0;
29 AliACORDERawReader& operator=(const AliACORDERawReader&) { return *this; }
32 Bool_t Next(); //read next raw digit
35 Int_t GetData( Int_t channel, Int_t hit) {return fAllData[channel][hit];}
38 enum EACORDERawReaderError {
39 kIncorrectDataSize = 1,
44 kWrongChain0Header = 6,
45 kWrongChain0Trailer = 7,
46 kWrongChain1Header = 8,
47 kWrongChain1Trailer = 9,
51 Bool_t IsOnlineMode () {return fIsOnline;}
55 AliRawReader* fRawReader; // object for reading the raw data
56 UChar_t* fData; // raw data
57 Int_t fPosition; // current (32 bit) position in fData
58 Bool_t fIsOnline; // for case online DA usage
59 UInt_t fWord[4]; // data vector
60 Int_t fDataSize; // data size
61 Int_t fAllData[110][50]; // container for raw data
63 enum EACORDERawStreamError {
67 ClassDef(AliACORDERawReader,3) //class for reading ACORDE Raw data