1 #ifndef ALIPHOSRAWDECODER_H
2 #define ALIPHOSRAWDECODER_H
3 /* Copyright(c) 2007, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 // This class extracts the PHOS "digits" of current event
9 // (amplitude,time, position,gain) from the raw stream
10 // provided by AliRawReader. See cxx source for use case.
12 #include "AliRawReader.h"
13 #include "AliCaloRawStream.h"
15 class AliPHOSRawDecoder {
20 AliPHOSRawDecoder(AliRawReader* rawReader);
21 AliPHOSRawDecoder(const AliPHOSRawDecoder& rawDecoder);
22 AliPHOSRawDecoder& operator = (const AliPHOSRawDecoder& rawDecoder);
23 virtual ~AliPHOSRawDecoder();
25 virtual Bool_t NextDigit();
27 void SetOldRCUFormat(Bool_t isOldRCU) {fCaloStream->SetOldRCUFormat(isOldRCU);}
28 void SubtractPedestals(Bool_t subtract) {fPedSubtract=subtract;}
30 Double_t GetEnergy() { return fEnergy; }
31 Double_t GetTime() { return fTime; }
32 Int_t GetModule() { return fModule; }
33 Int_t GetColumn() { return fColumn; }
34 Int_t GetRow() { return fRow; }
35 Bool_t IsLowGain() { return fCaloStream->IsLowGain(); }
39 AliRawReader* fRawReader; // raw data reader
40 AliCaloRawStream* fCaloStream; // PHOS/EMCAL raw data stream
41 Bool_t fPedSubtract; // pedestals subtraction (kTRUE="yes")
45 Double_t fEnergy; // "digit" energy
46 Double_t fTime; // "digit" time
47 Int_t fModule; // PHOS module number (1-5)
48 Int_t fColumn; // column in the module
51 ClassDef(AliPHOSRawDecoder,1)