]>
Commit | Line | Data |
---|---|---|
a29c28b6 | 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 */ | |
5 | ||
7bc140a5 | 6 | /* $Id$ */ |
7 | ||
a29c28b6 | 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. | |
11 | ||
12 | #include "AliRawReader.h" | |
13 | #include "AliCaloRawStream.h" | |
14 | ||
15 | class AliPHOSRawDecoder { | |
16 | ||
17 | public: | |
18 | ||
19 | AliPHOSRawDecoder(); | |
20 | AliPHOSRawDecoder(AliRawReader* rawReader); | |
21 | AliPHOSRawDecoder(const AliPHOSRawDecoder& rawDecoder); | |
22 | AliPHOSRawDecoder& operator = (const AliPHOSRawDecoder& rawDecoder); | |
23 | virtual ~AliPHOSRawDecoder(); | |
24 | ||
25 | virtual Bool_t NextDigit(); | |
26 | ||
27 | void SetOldRCUFormat(Bool_t isOldRCU) {fCaloStream->SetOldRCUFormat(isOldRCU);} | |
28 | void SubtractPedestals(Bool_t subtract) {fPedSubtract=subtract;} | |
29 | ||
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(); } | |
36 | ||
37 | protected: | |
38 | ||
7bc140a5 | 39 | AliRawReader* fRawReader; // raw data reader |
40 | AliCaloRawStream* fCaloStream; // PHOS/EMCAL raw data stream | |
41 | Bool_t fPedSubtract; // pedestals subtraction (kTRUE="yes") | |
a29c28b6 | 42 | |
43 | private: | |
44 | ||
7bc140a5 | 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 | |
49 | Int_t fRow; // row | |
a29c28b6 | 50 | |
51 | ClassDef(AliPHOSRawDecoder,1) | |
52 | }; | |
53 | ||
54 | #endif |