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

SFSetOfHProf.h

Go to the documentation of this file.
00001 
00008 #ifndef __SFSETOFHPROF_H
00009 #define __SFSETOFHPROF_H
00010 
00011 #include "jbltools/sfh/SetOfHProf.h"
00012 
00013 #include "jbltools/sfh/SFO.h"
00014 #include "jbltools/sfh/FloatFunPoR.h"
00015 #include "jbltools/sfh/BaseCutPoR.h"
00016 #include "jbltools/sfh/FillIteratorPoR.h"
00017 
00018 class BinningFun;
00019 class RegHProf;
00020 class TFile;
00021 class TH1;
00022 class TAxis;
00023 
00024 // Class SFSetOfHProf
00026 
00059 class SFSetOfHProf: public SetOfHProf, public SFO {
00060   public:
00062     SFSetOfHProf (const char* name_,               
00063                   const char* title_,              
00064                   const ROListPoR& hhl,            
00065                   const FloatFunPoR& xfun_,        
00066                   const FloatFunPoR& yfun_,        
00067                   const BaseCutPoR& cut_,          
00068                   const FloatFunPoR& wfun_,        
00069                   const BinningFunPoR& binning_,   
00070                   const FillIteratorPoR& iter_ = 0 
00071                 );
00073     SFSetOfHProf (const char* name_,               
00074                   const char* title_,              
00075                   Int_t nbinsx,                    
00076                   Axis_t xlow,                     
00077                   Axis_t xup,                      
00078                   Option_t *option_,               
00079                   const ROListPoR& hhl,            
00080                   const FloatFunPoR& xfun_,        
00081                   const FloatFunPoR& yfun_,        
00082                   const BaseCutPoR& cut_,          
00083                   const FloatFunPoR& wfun_,        
00084                   const BinningFunPoR& binning_,   
00085                   const FillIteratorPoR& iter_ = 0 
00086               );                         
00088     SFSetOfHProf (const char* name_,               
00089                   const char* title_,              
00090                   Int_t nbinsx,                    
00091                   Axis_t xlow,                     
00092                   Axis_t xup,                      
00093                   Axis_t ylow_,                    
00094                   Axis_t yup_,                     
00095                   Option_t *option_,               
00096                   const ROListPoR& hhl,            
00097                   const FloatFunPoR& xfun_,        
00098                   const FloatFunPoR& yfun_,        
00099                   const BaseCutPoR& cut_,          
00100                   const FloatFunPoR& wfun_,        
00101                   const BinningFunPoR& binning_,   
00102                   const FillIteratorPoR& iter_ = 0 
00103               );
00105     SFSetOfHProf (const char* name_,               
00106                   const char* title_,              
00107                   Int_t nbinsx,                    
00108                   const Float_t* xbins,            
00109                   Option_t *option_,               
00110                   const ROListPoR& hhl,            
00111                   const FloatFunPoR& xfun_,        
00112                   const FloatFunPoR& yfun_,        
00113                   const BaseCutPoR& cut_,          
00114                   const FloatFunPoR& wfun_,        
00115                   const BinningFunPoR& binning_,   
00116                   const FillIteratorPoR& iter_ = 0 
00117               );                        
00119     SFSetOfHProf (const char* name_,               
00120                   const char* title_,              
00121                   Int_t nbinsx,                    
00122                   const Double_t* xbins,           
00123                   Option_t *option_,               
00124                   const ROListPoR& hhl,            
00125                   const FloatFunPoR& xfun_,        
00126                   const FloatFunPoR& yfun_,        
00127                   const BaseCutPoR& cut_,          
00128                   const FloatFunPoR& wfun_,        
00129                   const BinningFunPoR& binning_,   
00130                   const FillIteratorPoR& iter_ = 0 
00131               );
00133     SFSetOfHProf (const char* name_,               
00134                   const char* title_,              
00135                   Int_t nbinsx,                    
00136                   const Double_t* xbins,           
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_,          
00144                   const FloatFunPoR& wfun_,        
00145                   const BinningFunPoR& binning_,   
00146                   const FillIteratorPoR& iter_ = 0 
00147               );
00149     SFSetOfHProf (const char* name_,               
00150                   const char* title_,              
00151                   const Binning& axisbinning_,     
00152                   Option_t *option_,               
00153                   const ROListPoR& hhl,            
00154                   const FloatFunPoR& xfun_,        
00155                   const FloatFunPoR& yfun_,        
00156                   const BaseCutPoR& cut_,          
00157                   const FloatFunPoR& wfun_,        
00158                   const BinningFunPoR& binning_,   
00159                   const FillIteratorPoR& iter_ = 0 
00160               );
00162     SFSetOfHProf (const char* name_,               
00163                   const char* title_,              
00164                   const Binning& axisbinning_,     
00165                   Axis_t ylow_,                    
00166                   Axis_t yup_,                     
00167                   Option_t *option_,               
00168                   const ROListPoR& hhl,            
00169                   const FloatFunPoR& xfun_,        
00170                   const FloatFunPoR& yfun_,        
00171                   const BaseCutPoR& cut_,          
00172                   const FloatFunPoR& wfun_,        
00173                   const BinningFunPoR& binning_,   
00174                   const FillIteratorPoR& iter_ = 0 
00175               );
00177     virtual ~SFSetOfHProf ();
00178         
00179     
00181 
00189     virtual void Fill ();
00190     
00192     FloatFun     *getXFun() const {return xfun;}
00194     FloatFun     *getYFun() const {return yfun;}
00196     BaseCut      *getCut()  const {return cut;}
00198     FloatFun     *getWFun() const {return wfun;}
00200     FillIterator *getIter() const {return iter;}
00201     
00202   protected:
00204     void checkIterators(const char *name          
00205                         );
00207     template<class Fun1, class Fun2>
00208     void checkTwoIterators(const char *name,      
00209                            const char *fun1name,  
00210                                  Fun1 *fun1,      
00211                            const char *fun2name,  
00212                                  Fun2 *fun2       
00213                            );
00215     template<class Fun>
00216     void checkOneIterator (const char *name,     
00217                            const char *funname,  
00218                                  Fun  *fun       
00219                            );
00220     // Data members
00221     FloatFun *xfun;       
00222     FloatFun *yfun;       
00223     BaseCut *cut;         
00224     FloatFun *wfun;       
00225     FillIterator *iter;   
00226    
00227   private:
00229     SFSetOfHProf (const SFSetOfHProf& source);
00231     SFSetOfHProf& operator= (const SFSetOfHProf& source);
00232 };
00233 
00234 #endif

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