#ifndef HTOFHISTBOOKER_H #define HTOFHISTBOOKER_H #include "hparcond.h" class TList; class TString; class HOnlineTofHistFiller; class HTofDetector; class HParamList; /** Toff Histogram Booker. * The container keeps the list of histograms (pool) * and the list of active histograms and the HOnlineTofHistFiller, * which is responsible of booking, creating and filling * of the histograms. All actions on the histograms * have to through HOnlineTofHistBooker and HOnlineTofHistFiller. */ class HOnlineTofHistBooker : public HParCond { protected: HTofDetector* fTof; //! static TList* tofHistpool; //!< list of pool histograms static TList* tofActiveHists; //!< list of active histograms static HOnlineTofHistBooker* fTofHistBooker; //!< pointer to self static HOnlineTofHistFiller* toffiller; //!< pointer to internal TofHistFiller public: HOnlineTofHistBooker(const Char_t* name ="TofHistBooker", const Char_t* title ="parameters for Tof hists", const Char_t* context="TofHistBookerProduction"); ~HOnlineTofHistBooker(); /// get pointer to container static HOnlineTofHistBooker* getExObject(); /// get pointer to conainer, if /// it does not exist , it will be created static HOnlineTofHistBooker* getObject(); /// init the container standalone (no rtdb) Bool_t initStandAlone(); /// get list of active histograms TList* getListOfActiveHists(){return tofActiveHists;} /// get list of pool histograms TList* getListOfHists() {return tofHistpool;} /// reset histogram on active list void resetActiveList(Int_t level,Int_t count); /// put parameter to list of HParCond void putParams(HParamList*); /// get parameter from list of HParCond Bool_t getParams(HParamList*); /// reset the container void clear(); Bool_t check(); /// print parameter to the screen void printParam(void); /// print status of the conatiner to the screen void printStatus(void); /// get pointer to internal HOnlineTofHistFiller HOnlineTofHistFiller* getTofFiller(){return toffiller;} ClassDef(HOnlineTofHistBooker,1) // Container for the Tof Hists }; #endif /*!HTOFHISTBOOKER_H*/