// 1 // 2 // 3 // 4 // 5 #ifndef ALIHLTPHOSRCUHISTOGRAMPRODUCER_H #define ALIHLTPHOSRCUHISTOGRAMPRODUCER_H /* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ #include "AliHLTPHOSDefinitions.h" #include "TH1.h" #include "TH2D.h" #include "AliHLTPHOSRcuCellAccumulatedEnergyDataStruct.h" //#include "AliHLTPHOSBase.h" #include "AliHLTPHOSRcuProcessor.h" class TH1; class TH2D; class AliHLTPHOSRcuCellAccumulatedEnergyDataStruct; #define XBIN_LOW 0 #define XBIN_UP 1023 #define N_BINS 1023 class AliHLTPHOSRcuCalibrationProcessor : public AliHLTPHOSBase //class AliHLTPHOSRcuCalibrationProcessor : public AliHLTPHOSRcuProcessor { public: // AliHLTPHOSRcuCalibrationProcessor(); AliHLTPHOSRcuCalibrationProcessor(AliHLTUInt8_t moduleID, AliHLTUInt8_t rcuX, AliHLTUInt8_t rcuZ); virtual ~AliHLTPHOSRcuCalibrationProcessor(); const AliHLTPHOSRcuCellAccumulatedEnergyDataStruct& GetCellAccumulatedEnergies(); void Init(); void SetRcuX(AliHLTUInt8_t X); void SetRcuZ(AliHLTUInt8_t Z); void SetModuleID(AliHLTUInt8_t moduleID); void SetHistoOutDir(char *outDir); void FillEnergy(AliHLTUInt8_t x, AliHLTUInt8_t z, AliHLTUInt8_t gain, float energy); void FillTime(AliHLTUInt8_t x, AliHLTUInt8_t z, AliHLTUInt8_t gain, float time); void FillLiveChannels(Int_t data[], int size, Int_t x, Int_t z, Int_t gain); void FillLiveChannelHistograms(); void Reset(); void WriteAllHistograms(char opt[] = "update"); protected: private: void SetDefaultHistoOutDir(); void ScanTimeString(char *timeString); AliHLTPHOSRcuCalibrationProcessor(); char fHistoOutDir[512]; TH1F *fEnergyHistogramPtrs[N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS]; /**