//-*- Mode: C++ -*- // $Id$ // 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" class TH1; class TH2D; class AliHLTPHOSRcuCellAccumulatedEnergyDataStruct; class AliHLTPHOSUtilities; #define XBINLOW 0 #define XBINUP 1023 #define NBINS 1023 class AliHLTPHOSRcuHistogramProducer { public: // AliHLTPHOSRcuHistogramProducer(); AliHLTPHOSRcuHistogramProducer(AliHLTUInt8_t moduleID, AliHLTUInt8_t rcuX, AliHLTUInt8_t rcuZ); virtual ~AliHLTPHOSRcuHistogramProducer(); const AliHLTPHOSRcuCellAccumulatedEnergyDataStruct& GetCellAccumulatedEnergies(); void Init(); 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"); private: AliHLTPHOSRcuHistogramProducer(const AliHLTPHOSRcuHistogramProducer & ); AliHLTPHOSRcuHistogramProducer & operator = (const AliHLTPHOSRcuHistogramProducer &); void SetDefaultHistoOutDir(); void ScanTimeString(char *timeString); AliHLTPHOSRcuHistogramProducer(); char fHistoOutDir[512]; TH1F *fEnergyHistogramPtrs[NXCOLUMNSRCU][NZROWSRCU][NGAINS]; /**