DQM shifter histos based only on physics data
[u/mrichter/AliRoot.git] / T0 / AliT0RawReader.h
CommitLineData
dc7ca31d 1#ifndef ALIT0RAWREADER_H
2#define ALIT0RAWREADER_H
f16935f7 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
dc7ca31d 12
13#include <TTask.h>
dc7ca31d 14#include "AliRawReader.h"
807a797f 15#include "AliT0Parameters.h"
f16935f7 16
17
dc7ca31d 18class AliT0RawReader : public TTask {
19 public :
20
2de29203 21 AliT0RawReader(AliRawReader *rawReader,Bool_t isOnline = kFALSE) ;
22// AliT0RawReader(AliRawReader *rawReader,Bool_t isOnline = kTRUE) ;
dc7ca31d 23
24 virtual ~AliT0RawReader();
c41ceaac 25 AliT0RawReader(const AliT0RawReader& o): TTask(o),
807a797f 26 fRawReader(0),
27 fData(NULL),
28 fPosition(0),
f8bea420 29 fParam(0),
345f03db 30 fIsOnline(kFALSE),
31 fBunchID(0),
32 fPrintout(kFALSE)
807a797f 33 {}
c41ceaac 34
e0bba6cc 35 AliT0RawReader& operator=(const AliT0RawReader&) { return *this; }
dc7ca31d 36
37
38 Bool_t Next(); //read next raw digit
39 Int_t GetPosition();
dc7ca31d 40 UInt_t GetNextWord();
f16935f7 41 Int_t GetData( Int_t channel, Int_t hit) {return fAllData[channel][hit];}
42
aee6a11a 43
44 enum ET0RawReaderError {
45 kIncorrectDataSize = 1,
46 kWrongDRMHeader = 2,
47 kWrongDRMTrailer = 3,
48 kWrongTRMHeader = 4,
49 kWrongTRMTrailer = 5,
50 kWrongChain0Header = 6,
51 kWrongChain0Trailer = 7,
52 kWrongChain1Header = 8,
53 kWrongChain1Trailer = 9,
54 kIncorrectLUT = 10
55 };
56
f8bea420 57 Bool_t IsOnlineMode () {return fIsOnline;}
8f620945 58 Int_t GetTRMBunchID() {return fBunchID;};
59
60 void SetPrintout(Bool_t pp ) {fPrintout = pp;}
f8bea420 61
dc7ca31d 62 protected :
63
dc7ca31d 64 AliRawReader* fRawReader; // object for reading the raw data
dc7ca31d 65 UChar_t* fData; // raw data
66 Int_t fPosition; // current (32 bit) position in fData
f16935f7 67 AliT0Parameters *fParam; // instanse of Parameters class
68 Bool_t fIsOnline; // for case online DA usage
8f620945 69 Int_t fBunchID; //bunchID from TRM chain header
70 Bool_t fPrintout; // advanced printout
5ed41460 71 Int_t fAllData[110][5]; // container for raw data
dc7ca31d 72
8f620945 73 ClassDef(AliT0RawReader,3) //class for reading T0 Raw data
dc7ca31d 74};
75
76typedef AliT0RawReader AliSTARTRawReader; // for backward compatibility
77
78#endif