Main Page | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members | Related Pages

SFHProf.h

Go to the documentation of this file.
00001 
00009 #ifndef __SFHPROF_H
00010 #define __SFHPROF_H
00011 
00012 #include "jbltools/sfh/RegHProf.h"
00013 #include "jbltools/sfh/SFO.h"
00014 
00015 #include "jbltools/sfh/FloatFunPoR.h"
00016 #include "jbltools/sfh/BaseCutPoR.h"
00017 #include "jbltools/sfh/FillIteratorPoR.h"
00018 
00019 class FloatFun;
00020 class BaseCut;
00021 class FillIterator;
00022 class ROListPoR;
00023 class Binning;
00024 
00025 
00026 //  Class SFH1F:
00028 
00047 class SFHProf : public RegHProf, public SFO {
00048   public:
00050     SFHProf (const char* name,                 
00051              const char* title,                
00052              Int_t nbinsx,                     
00053              Axis_t xlow,                      
00054              Axis_t xup,                       
00055              Option_t *option,                 
00056              const ROListPoR& hhl,              
00057              const FloatFunPoR& xfun_,         
00058              const FloatFunPoR& yfun_,         
00059              const BaseCutPoR& cut_ = 0,       
00060              const FloatFunPoR& wfun_ = 0,     
00061              const FillIteratorPoR& iter_ = 0  
00062              );
00064     SFHProf (const char* name,                 
00065              const char* title,                
00066              Int_t nbinsx,                     
00067              Axis_t xlow,                      
00068              Axis_t xup,                       
00069              Axis_t ylow,                      
00070              Axis_t yup,                       
00071              Option_t *option,                 
00072              const ROListPoR& hhl,              
00073              const FloatFunPoR& xfun_,         
00074              const FloatFunPoR& yfun_,         
00075              const BaseCutPoR& cut_ = 0,       
00076              const FloatFunPoR& wfun_ = 0,     
00077              const FillIteratorPoR& iter_ = 0  
00078              );
00080     SFHProf (const char* name,                 
00081              const char* title,                
00082              Int_t nbinsx,                     
00083              const Float_t* xbins,             
00084              Option_t *option,                 
00085              const ROListPoR& hhl,              
00086              const FloatFunPoR& xfun_,         
00087              const FloatFunPoR& yfun_,         
00088              const BaseCutPoR& cut_ = 0,       
00089              const FloatFunPoR& wfun_ = 0,     
00090              const FillIteratorPoR& iter_ = 0  
00091              );
00093     SFHProf (const char* name,                 
00094              const char* title,                
00095              Int_t nbinsx,                     
00096              const Double_t* xbins,            
00097              Option_t *option,                 
00098              const ROListPoR& hhl,              
00099              const FloatFunPoR& xfun_,         
00100              const FloatFunPoR& yfun_,         
00101              const BaseCutPoR& cut_ = 0,       
00102              const FloatFunPoR& wfun_ = 0,     
00103              const FillIteratorPoR& iter_ = 0  
00104              );
00106     SFHProf (const char* name,                 
00107              const char* title,                
00108              Int_t nbinsx,                     
00109              const Double_t* xbins,            
00110              Axis_t ylow,                      
00111              Axis_t yup,                       
00112              Option_t *option,                 
00113              const ROListPoR& hhl,              
00114              const FloatFunPoR& xfun_,         
00115              const FloatFunPoR& yfun_,         
00116              const BaseCutPoR& cut_ = 0,       
00117              const FloatFunPoR& wfun_ = 0,     
00118              const FillIteratorPoR& iter_ = 0  
00119              );
00120              
00122     SFHProf (const char* name,                 
00123              const char* title,                
00124              const Binning& binning,           
00125              Option_t *option,                 
00126              const ROListPoR& hhl,              
00127              const FloatFunPoR& xfun_,         
00128              const FloatFunPoR& yfun_,         
00129              const BaseCutPoR& cut_ = 0,       
00130              const FloatFunPoR& wfun_ = 0,     
00131              const FillIteratorPoR& iter_ = 0  
00132              );
00134     SFHProf (const char* name,                 
00135              const char* title,                
00136              const Binning& binning,           
00137              Axis_t ylow,                      
00138              Axis_t yup,                       
00139              Option_t *option,                 
00140              const ROListPoR& hhl,              
00141              const FloatFunPoR& xfun_,         
00142              const FloatFunPoR& yfun_,         
00143              const BaseCutPoR& cut_ = 0,       
00144              const FloatFunPoR& wfun_ = 0,     
00145              const FillIteratorPoR& iter_ = 0  
00146              );
00147 
00148     virtual ~SFHProf ();
00149     
00151 
00159     virtual void Fill ();
00160     
00162     FloatFun     *getXFun() const {return xfun;}
00164     FloatFun     *getYFun() const {return yfun;}
00166     BaseCut      *getCut()  const {return cut;}
00168     FloatFun     *getWFun() const {return wfun;}
00170     FillIterator *getIter() const {return iter;}
00171     
00172   private:
00174     SFHProf (const SFHProf& source);
00176     SFHProf& operator= (const SFHProf& source);
00177 
00178   protected:
00180     void checkIterators (const char *name         
00181                         );
00183     template<class Fun1, class Fun2>
00184     void checkTwoIterators(const char *name,      
00185                            const char *fun1name,  
00186                                  Fun1 *fun1,      
00187                            const char *fun2name,  
00188                                  Fun2 *fun2);     
00189 
00190     template<class Fun>
00191     void checkOneIterator (const char *name,     
00192                            const char *funname,  
00193                                  Fun  *fun);     
00194   
00195     // Data members    
00196     FloatFun *xfun;       
00197     FloatFun *yfun;       
00198     BaseCut *cut;         
00199     FloatFun *wfun;       
00200     FillIterator *iter;   
00201 };
00202 
00203 #endif

Generated on Thu Oct 26 12:52:59 2006 for SFH by doxygen 1.3.2