Define default values of cluster resolution per chamber in the
[u/mrichter/AliRoot.git] / T0 / AliT0RawReader.h
1 #ifndef ALIT0RAWREADER_H
2 #define ALIT0RAWREADER_H
3 /***************************************************************************
4  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
5  * reserved. 
6  *
7  * Alla Maevskaya INR RAS alla@inr.ru
8  *
9  * See cxx source for full Copyright notice                               
10  ***************************************************************************/
11
12  
13 #include <TTask.h>
14 #include "AliRawReader.h"
15 #include "AliT0Parameters.h"
16
17   
18 class AliT0RawReader : public TTask {
19   public :
20
21   AliT0RawReader(AliRawReader *rawReader,Bool_t isOnline = kFALSE) ;
22 //  AliT0RawReader(AliRawReader *rawReader,Bool_t isOnline = kTRUE) ;
23
24   virtual  ~AliT0RawReader();
25   AliT0RawReader(const AliT0RawReader& o): TTask(o),
26     fRawReader(0),
27     fData(NULL),
28     fPosition(0),
29     fParam(0),
30     fIsOnline(kFALSE)
31     {}
32   
33   AliT0RawReader& operator=(const AliT0RawReader&) { return *this; }
34
35
36   Bool_t  Next(); //read next raw digit
37   Int_t            GetPosition();
38   UInt_t         GetNextWord();
39   Int_t GetData( Int_t channel, Int_t hit) {return fAllData[channel][hit];}
40
41
42   enum ET0RawReaderError {
43     kIncorrectDataSize = 1,
44     kWrongDRMHeader = 2,
45     kWrongDRMTrailer = 3,
46     kWrongTRMHeader = 4,
47     kWrongTRMTrailer = 5,
48     kWrongChain0Header = 6,
49     kWrongChain0Trailer = 7,
50     kWrongChain1Header = 8,
51     kWrongChain1Trailer = 9,
52     kIncorrectLUT = 10
53   };
54
55   Bool_t IsOnlineMode () {return fIsOnline;}
56      
57   protected :
58
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   AliT0Parameters *fParam;       // instanse of  Parameters class
63   Bool_t           fIsOnline;     // for case online DA usage
64   
65   Int_t            fAllData[110][5]; // container for raw data
66   
67  ClassDef(AliT0RawReader,2) //class for reading T0 Raw data
68 };
69
70 typedef AliT0RawReader AliSTARTRawReader; // for backward compatibility
71  
72 #endif