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 TTask {
20 AliACORDERawReader(AliRawReader *rawReader,Bool_t isOnline = kFALSE) ;
21 //AliACORDERawReader(AliRawReader *rawReader,Bool_t isOnline = kTRUE) ;
23 virtual ~AliACORDERawReader();
24 AliACORDERawReader(const AliACORDERawReader& o): TTask(o),fRawReader(0),fData(NULL),fPosition(0),fIsOnline(kFALSE),fDataSize(0) {}
26 AliACORDERawReader& operator=(const AliACORDERawReader&) { return *this; }
29 Bool_t Next(); //read next raw digit
32 Int_t GetData( Int_t channel, Int_t hit) {return fAllData[channel][hit];}
35 enum EACORDERawReaderError {
36 kIncorrectDataSize = 1,
41 kWrongChain0Header = 6,
42 kWrongChain0Trailer = 7,
43 kWrongChain1Header = 8,
44 kWrongChain1Trailer = 9,
48 Bool_t IsOnlineMode () {return fIsOnline;}
52 AliRawReader* fRawReader; // object for reading the raw data
53 UChar_t* fData; // raw data
54 Int_t fPosition; // current (32 bit) position in fData
55 Bool_t fIsOnline; // for case online DA usage
56 UInt_t fWord[4]; // data vector
57 Int_t fDataSize; // data size
58 Int_t fAllData[110][50]; // container for raw data
60 enum EACORDERawStreamError {
64 ClassDef(AliACORDERawReader,2) //class for reading ACORDE Raw data
67 typedef AliACORDERawReader AliSTARTRawReader; // for backward compatibility