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

SFSetOfH2F.h

Go to the documentation of this file.
00001 
00008 #ifndef __SFSETOFH2F_H
00009 #define __SFSETOFH2F_H
00010 
00011 #include "jbltools/sfh/SetOfH2F.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 RegH2F;
00020 class TFile;
00021 class TH1;
00022 class TAxis;
00023 
00024 // Class SFSetOfH2F
00026 
00051 class SFSetOfH2F: public SetOfH2F, public SFO {
00052   public:
00054     SFSetOfH2F (const char* name_,               
00055                 const char* title_,              
00056                 Int_t nbinsx,                    
00057                 Axis_t xlow,                     
00058                 Axis_t xup,                      
00059                 Int_t nbinsy,                    
00060                 Axis_t ylow,                     
00061                 Axis_t yup,                      
00062                 const ROListPoR& hhl,            
00063                 const FloatFunPoR& xfun_,        
00064                 const FloatFunPoR& yfun_,        
00065                 const BaseCutPoR& cut_,          
00066                 const FloatFunPoR& wfun_,        
00067                 const BinningFunPoR& binning_,   
00068                 const FillIteratorPoR& iter_ = 0 
00069              );
00071     SFSetOfH2F (const char* name_,               
00072                 const char* title_,              
00073                 Int_t nbinsx,                    
00074                 const Double_t* xbins,           
00075                 Int_t nbinsy,                    
00076                 Axis_t ylow,                     
00077                 Axis_t yup,                      
00078                 const ROListPoR& hhl,            
00079                 const FloatFunPoR& xfun_,        
00080                 const FloatFunPoR& yfun_,        
00081                 const BaseCutPoR& cut_,          
00082                 const FloatFunPoR& wfun_,        
00083                 const BinningFunPoR& binning_,   
00084                 const FillIteratorPoR& iter_ = 0 
00085              );
00087     SFSetOfH2F (const char* name_,               
00088                 const char* title_,              
00089                 Int_t nbinsx,                    
00090                 Axis_t xlow,                     
00091                 Axis_t xup,                      
00092                 Int_t nbinsy,                    
00093                 const Double_t* ybins,           
00094                 const ROListPoR& hhl,            
00095                 const FloatFunPoR& xfun_,        
00096                 const FloatFunPoR& yfun_,        
00097                 const BaseCutPoR& cut_,          
00098                 const FloatFunPoR& wfun_,        
00099                 const BinningFunPoR& binning_,   
00100                 const FillIteratorPoR& iter_ = 0 
00101              );
00103     SFSetOfH2F (const char* name_,               
00104                 const char* title_,              
00105                 Int_t nbinsx,                    
00106                 const Double_t* xbins,           
00107                 Int_t nbinsy,                    
00108                 const Double_t* ybins,           
00109                 const ROListPoR& hhl,            
00110                 const FloatFunPoR& xfun_,        
00111                 const FloatFunPoR& yfun_,        
00112                 const BaseCutPoR& cut_,          
00113                 const FloatFunPoR& wfun_,        
00114                 const BinningFunPoR& binning_,   
00115                 const FillIteratorPoR& iter_ = 0 
00116              );
00118     SFSetOfH2F (const char* name_,               
00119                 const char* title_,              
00120                 Int_t nbinsx,                    
00121                 const Float_t* xbins,            
00122                 Int_t nbinsy,                    
00123                 const Float_t* ybins,            
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     SFSetOfH2F (const char* name_,               
00134                 const char* title_,              
00135                 const Binning& xbinning,         
00136                 const Binning& ybinning,         
00137                 const ROListPoR& hhl,            
00138                 const FloatFunPoR& xfun_,        
00139                 const FloatFunPoR& yfun_,        
00140                 const BaseCutPoR& cut_,          
00141                 const FloatFunPoR& wfun_,        
00142                 const BinningFunPoR& binning_,   
00143                 const FillIteratorPoR& iter_ = 0 
00144              );
00145 
00147     virtual ~SFSetOfH2F ();
00148     
00150 
00158     virtual void Fill ();
00159     
00161     FloatFun     *getXFun() const {return xfun;}
00163     FloatFun     *getYFun() const {return yfun;}
00165     BaseCut      *getCut()  const {return cut;}
00167     FloatFun     *getWFun() const {return wfun;}
00169     FillIterator *getIter() const {return iter;}
00170     
00171         
00172   protected:
00174     void checkIterators(const char *name          
00175                         );
00177     template<class Fun1, class Fun2>
00178     void checkTwoIterators(const char *name,      
00179                            const char *fun1name,  
00180                                  Fun1 *fun1,      
00181                            const char *fun2name,  
00182                                  Fun2 *fun2       
00183                            );
00185     template<class Fun>
00186     void checkOneIterator (const char *name,     
00187                            const char *funname,  
00188                                  Fun  *fun       
00189                            );
00190     // Data members
00191     FloatFun *xfun;       
00192     FloatFun *yfun;       
00193     BaseCut *cut;         
00194     FloatFun *wfun;       
00195     FillIterator *iter;   
00196        
00197   private:
00199     SFSetOfH2F (const SFSetOfH2F& source);
00201     SFSetOfH2F& operator= (const SFSetOfH2F& source);
00202 };
00203 
00204 #endif

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