#ifndef HHODOHISTFILLER_H #define HHODOHISTFILLER_H #include "TNamed.h" class HParamList; class HOnlineMonHistAddon; class HOnlineMonHist; class HOnlineMonHist2; class HOnlineTrendHist; class HOnlineHistArray; class HOnlineTrendArray; class HOnlineHistArray2; class HHodoRaw; class HHodoCal; class HHodoHit; class TList; class TArrayI; class TString; class HIterator; /** Class to fill Hodo histograms. * This class is responible of booking, creating * and filling of the Hodo histograms. The fill * functions are called by HOnlineHodoMon or HOnlineSerser. * All actions on the histograms have to go through * HOnlineHodoHistBooker and HOnlineHodoHistFiller. */ // do not change ... has to be equal to 10 or major code changes have to be done #define MAX_HODO_MODULES 10 // do not change, because color is valid up to 8 only #define ANZ_EFFIS 8 class HOnlineHodoHistFiller : public TNamed { protected: // Histpointers // static HOnlineHistArray* hhits_raw; //!< hist pointer // static HOnlineMonHist* hmulttdcall; //!< hist pointer static HOnlineHistArray* hProf[MAX_HODO_MODULES]; //!< hist pointer static HOnlineMonHist2* hRawTime[MAX_HODO_MODULES]; //!< hist pointer static HOnlineMonHist2* hRawWidth[MAX_HODO_MODULES]; //!< hist pointer static HOnlineMonHist2* hCrT[MAX_HODO_MODULES]; //!< hist pointer static HOnlineMonHist2* hFibMult[MAX_HODO_MODULES]; //!< hist pointer static HOnlineMonHist2* hTDCMult; //!< hist pointer static HOnlineMonHist2* hSpot; //!< hist pointer static HOnlineMonHist2* hNe5; //!< hist pointer static HOnlineTrendArray* hEfficiency; //!< hist pointer // static HOnlineMonHist2* hhodomult_raw; //! // static HOnlineMonHist2* hhodomulttemp_raw; //! // static HOnlineTrendArray* hhodomulttrend_raw; //! // static HOnlineMonHistAddon* hhits_rawA; //!< hist addon pointer // static HOnlineMonHistAddon* hmulttdcallA; //!< hist addon pointer static HOnlineMonHistAddon* hProfA[MAX_HODO_MODULES]; //!< hist addon pointer static HOnlineMonHistAddon* hRawTimeA[MAX_HODO_MODULES]; //!< hist addon pointer static HOnlineMonHistAddon* hRawWidthA[MAX_HODO_MODULES]; //!< hist addon pointer static HOnlineMonHistAddon* hCrTA[MAX_HODO_MODULES]; //!< hist addon pointer static HOnlineMonHistAddon* hFibMultA[MAX_HODO_MODULES]; //!< hist addon pointer static HOnlineMonHistAddon* hSpotA; //!< hist addon pointer static HOnlineMonHistAddon* hNe5A; //!< hist addon pointer static HOnlineMonHistAddon* hTDCMultA; //!< hist addon pointer // static HOnlineMonHistAddon* hhodomult_rawA; //! // static HOnlineMonHistAddon* hhodomulttemp_rawA; //! // static HOnlineMonHistAddon* hhodomulttrend_rawA; //! static HOnlineMonHistAddon* hEfficiencyA; //! // Colors static TArrayI colorsModule; ///< colors for hists not onyl for module // static TArrayI colorsCuts; ///< colors for hists to be compared for cuts Int_t effi_count_all[ANZ_EFFIS], effi_count[ANZ_EFFIS]; public: HOnlineHodoHistFiller(const Char_t* name ="HodoHistFiller", const Char_t* title ="parameters for Hodo hists"); ~HOnlineHodoHistFiller(); /// put parameter to list of HParCond void putHodoParams(HParamList*,TList*); /// get parameter to list of HParCond Bool_t getHodoParams(HParamList*,TList*,TList*); /// fill raw histograms void fillRaw(HHodoRaw*); /// fill cal histograms void fillCal(HHodoCal*); /// fill hit histograms void fillHit(HHodoHit*); /// fill hit histograms void fillHitCat(HIterator*); /// fill raw cat histograms void fillRawCat(HIterator*); /// fill trend histograms void fillTrend(); ClassDef(HOnlineHodoHistFiller,1) // Container for the Hodo Hists }; #endif /*!HHODOHISTFILLER_H*/