#ifndef HSHOWERHISTBOOKER_H
#define HSHOWERHISTBOOKER_H

#include "hparcond.h"

class TList;
class TString;

class HShowerHistFiller;
class HShowerDetector;
class HParamList;
class HRuntimeDb;

/** Shower Histogram Booker.
 * The container keeps the list of histograms (pool)
 * and the list of activehistograms and the HShowerHistFiller,
 * which is responsible of booking, creating and filling
 * of the histograms. All actions on the histograms
 * have to through HShowerHistBooker and HShowerHistFiller.
*/

class HShowerHistBooker : public HParCond {

protected:
    HShowerDetector* fShower; //!
    static TList* showerHistpool;    //!< list of histograms in pool
    static TList* showerActiveHists; //!< list of active histograms
    static HShowerHistBooker* fShowerHistBooker;  //!< pointer to HShowerHistBooker
    static HShowerHistFiller* showerfiller;       //!< pointer to internal HShowerHistFiller
public:
    HShowerHistBooker(const Char_t* name   ="ShowerHistBooker",
		      const Char_t* title  ="parameters for Shower hists",
		      const Char_t* context="ShowerHistBookerProduction");
    ~HShowerHistBooker();
    /// get pointer to the container
    static HShowerHistBooker* getExObject();
    /// get pointer to the container,
    /// if it does not exist , it will be created
    static HShowerHistBooker* getObject();
    /// set the parameter Io to Go4Io
    void   setGo4ParIo(HRuntimeDb*);
    /// init the container using rtdb
    Bool_t init(HParIo*, Int_t*);
    /// init the container standalone (no rtdb)
    Bool_t initStandAlone();
    /// write the container
    Int_t  write(HParIo*);
    /// 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 HShowerHistFiller
    HShowerHistFiller* getShowerFiller(){return showerfiller;}
    ClassDef(HShowerHistBooker,1) // Container for the Shower Hists
};

#endif  /*!HSHOWERHISTBOOKER_H*/


Last change: Sat May 22 13:13:35 2010
Last generated: 2010-05-22 13:13

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.