]>
Commit | Line | Data |
---|---|---|
792f66f1 | 1 | #ifndef ALIHLTPHOSRCUHISTOGRAMPRODUCER_H |
2 | #define ALIHLTPHOSRCUHISTOGRAMPRODUCER_H | |
3 | ||
4 | /* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | #include "AliHLTPHOSDefinitions.h" | |
8 | #include "AliHLTPHOSCommonDefs.h" | |
9 | #include "TH1.h" | |
792f66f1 | 10 | #include "AliHLTPHOSRcuCellAccumulatedEnergyDataStruct.h" |
11 | ||
12 | #define XBIN_LOW 0 | |
13 | #define XBIN_UP 1023 | |
14 | #define N_BINS 1023 | |
15 | ||
16 | class AliHLTPHOSRcuHistogramProducer | |
17 | { | |
18 | public: | |
19 | AliHLTPHOSRcuHistogramProducer(); | |
20 | AliHLTPHOSRcuHistogramProducer(AliHLTUInt8_t moduleID, AliHLTUInt8_t rcuX, AliHLTUInt8_t rcuZ); | |
792f66f1 | 21 | virtual ~AliHLTPHOSRcuHistogramProducer(); |
792f66f1 | 22 | const AliHLTPHOSRcuCellAccumulatedEnergyDataStruct& GetCellAccumulatedEnergies(); |
792f66f1 | 23 | void Init(); |
792f66f1 | 24 | void SetRcuX(AliHLTUInt8_t X); |
25 | void SetRcuZ(AliHLTUInt8_t Z); | |
26 | void SetModuleID(AliHLTUInt8_t moduleID); | |
27 | void FillEnergy(AliHLTUInt8_t x, AliHLTUInt8_t z, AliHLTUInt8_t gain, float energy); | |
28 | void FillTime(AliHLTUInt8_t x, AliHLTUInt8_t z, AliHLTUInt8_t gain, float time); | |
29 | void Reset(); | |
30 | void WriteEnergyHistograms(); | |
31 | ||
792f66f1 | 32 | protected: |
33 | ||
34 | private: | |
35 | AliHLTPHOSRcuHistogramProducer(const AliHLTPHOSRcuHistogramProducer & ); | |
36 | AliHLTPHOSRcuHistogramProducer & operator = (const AliHLTPHOSRcuHistogramProducer &) | |
37 | { | |
38 | return *this; | |
39 | }; | |
40 | ||
1b486665 | 41 | TH1F *fEnergyHistogramPtrs[N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS]; /**<Array to store energy distribution per channel for one rcu*/ |
42 | TH1F *fTimingHistogramPtrs[N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS]; /**<Array to store timing distribution per channel for one rcu*/ | |
792f66f1 | 43 | |
1b486665 | 44 | Float_t fEnergyAverageValues[N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS]; /**<Accumulated energy divided by hits*/ |
45 | Double_t fAccumulatedValues[N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS]; /**<Array to store accumulated energy per channel for one rcu during run*/ | |
46 | Float_t fTimingAverageValues[N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS]; /**<Avereage TOF*/ | |
792f66f1 | 47 | AliHLTUInt32_t fHits[N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS]; |
1b486665 | 48 | Double_t fTmpChannelData[ALTRO_MAX_SAMPLES]; /**<temporary variable to store raw samples from a single altro channel*/ |
792f66f1 | 49 | AliHLTPHOSRcuCellAccumulatedEnergyDataStruct fCellAccEnergy; |
1b486665 | 50 | AliHLTUInt8_t fModuleID; /**<ID of the module this component read data from (0-4)*/ |
51 | AliHLTUInt8_t fRcuX; /**<X position of RCU the data from this Equippment comes from (0 or 1)*/ | |
52 | AliHLTUInt8_t fRcuZ; /**<Z position of RCU the data from this Equippment comes from (0 or 1)*/ | |
792f66f1 | 53 | }; |
54 | ||
55 | #endif |