#ifndef HSHOWERHISTBOOKER_H #define HSHOWERHISTBOOKER_H #include "hparcond.h" class TList; class TString; class HOnlineShowerHistFiller; class HShowerDetector; class HParamList; /** Shower Histogram Booker. * The container keeps the list of histograms (pool) * and the list of activehistograms and the HOnlineShowerHistFiller, * which is responsible of booking, creating and filling * of the histograms. All actions on the histograms * have to through HOnlineShowerHistBooker and HOnlineShowerHistFiller. */ class HOnlineShowerHistBooker : public HParCond { protected: HShowerDetector* fShower; //! static TList* showerHistpool; //!< list of histograms in pool static TList* showerActiveHists; //!< list of active histograms static HOnlineShowerHistBooker* fShowerHistBooker; //!< pointer to HOnlineShowerHistBooker static HOnlineShowerHistFiller* showerfiller; //!< pointer to internal HOnlineShowerHistFiller public: HOnlineShowerHistBooker(const Char_t* name ="ShowerHistBooker", const Char_t* title ="parameters for Shower hists", const Char_t* context="ShowerHistBookerProduction"); ~HOnlineShowerHistBooker(); /// get pointer to the container static HOnlineShowerHistBooker* getExObject(); /// get pointer to the container, /// if it does not exist , it will be created static HOnlineShowerHistBooker* getObject(); /// init the container standalone (no rtdb) Bool_t initStandAlone(); /// get list of active histograms TList* getListOfActiveHists(){return showerActiveHists;} /// get list of histograms in pool TList* getListOfHists() {return showerHistpool;} /// reset histograms on active list void resetActiveList(Int_t level,Int_t count); /// put parameters to the list of HParCond void putParams(HParamList*); /// gt parameters from list of HParCond Bool_t getParams(HParamList*); /// reset the container void clear(); Bool_t check(); /// print the paramters to the screen void printParam(void); /// print the status to the screen void printStatus(void); /// get the pointer to the internal HOnlineShowerHistFiller HOnlineShowerHistFiller* getShowerFiller(){return showerfiller;} ClassDef(HOnlineShowerHistBooker,1) // Container for the Shower Hists }; #endif /*!HSHOWERHISTBOOKER_H*/