1 #ifndef ALIHLTPHOSRCUHISTOGRAMPRODUCER_H
2 #define ALIHLTPHOSRCUHISTOGRAMPRODUCER_H
4 /* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 #include "AliHLTPHOSDefinitions.h"
8 #include "AliHLTPHOSCommonDefs.h"
10 #include "AliHLTPHOSRcuCellAccumulatedEnergyDataStruct.h"
16 class AliHLTPHOSRcuHistogramProducer
19 AliHLTPHOSRcuHistogramProducer();
20 AliHLTPHOSRcuHistogramProducer(AliHLTUInt8_t moduleID, AliHLTUInt8_t rcuX, AliHLTUInt8_t rcuZ);
21 virtual ~AliHLTPHOSRcuHistogramProducer();
22 const AliHLTPHOSRcuCellAccumulatedEnergyDataStruct& GetCellAccumulatedEnergies();
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);
30 void WriteEnergyHistograms();
35 AliHLTPHOSRcuHistogramProducer(const AliHLTPHOSRcuHistogramProducer & );
36 AliHLTPHOSRcuHistogramProducer & operator = (const AliHLTPHOSRcuHistogramProducer &)
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*/
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*/
47 AliHLTUInt32_t fHits[N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS];
48 Double_t fTmpChannelData[ALTRO_MAX_SAMPLES]; /**<temporary variable to store raw samples from a single altro channel*/
49 AliHLTPHOSRcuCellAccumulatedEnergyDataStruct fCellAccEnergy;
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)*/