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

SFMatrixOfH2F.h

Go to the documentation of this file.
00001 
00008 #ifndef __SFMATRIXOFH2F_H
00009 #define __SFMATRIXOFH2F_H
00010 
00011 #include "jbltools/sfh/MatrixOfH2F.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 
00019 class TFile;
00020 class TProfile;
00021 class TAxis;
00022 class BinningFun;
00023 class RegH2F;
00024 class SetOfHistograms;
00025 
00026 
00027 // Class SFMatrixOfH2F
00029 
00054 class SFMatrixOfH2F: public MatrixOfH2F, public SFO {
00055   public:
00056 
00058     SFMatrixOfH2F (const char* name_,               
00059                  const char* title_,              
00060                  Int_t nbinsx,                    
00061                  Axis_t xlow,                     
00062                  Axis_t xup,                      
00063                  Int_t nbinsy,                    
00064                  Axis_t ylow,                     
00065                  Axis_t yup,                      
00066                  const ROListPoR& hhl,            
00067                  const FloatFunPoR& xfun_,        
00068                  const FloatFunPoR& yfun_,        
00069                  const BaseCutPoR& cut_,          
00070                  const FloatFunPoR& wfun_,        
00071                  const BinningFunPoR& binning1_,  
00072                  const BinningFunPoR& binning2_,  
00073                  const FillIteratorPoR& iter_ = 0 
00074                 );
00076     SFMatrixOfH2F (const char* name_,               
00077                  const char* title_,              
00078                  Int_t nbinsx,                    
00079                  const Double_t* xbins,           
00080                  Int_t nbinsy,                    
00081                  Axis_t ylow,                     
00082                  Axis_t yup,                      
00083                  const ROListPoR& hhl,            
00084                  const FloatFunPoR& xfun_,        
00085                  const FloatFunPoR& yfun_,        
00086                  const BaseCutPoR& cut_,          
00087                  const FloatFunPoR& wfun_,        
00088                  const BinningFunPoR& binning1_,  
00089                  const BinningFunPoR& binning2_,  
00090                  const FillIteratorPoR& iter_ = 0 
00091                 );
00093     SFMatrixOfH2F (const char* name_,               
00094                  const char* title_,              
00095                  Int_t nbinsx,                    
00096                  Axis_t xlow,                     
00097                  Axis_t xup,                      
00098                  Int_t nbinsy,                    
00099                  const Double_t* ybins,           
00100                  const ROListPoR& hhl,            
00101                  const FloatFunPoR& xfun_,        
00102                  const FloatFunPoR& yfun_,        
00103                  const BaseCutPoR& cut_,          
00104                  const FloatFunPoR& wfun_,        
00105                  const BinningFunPoR& binning1_,  
00106                  const BinningFunPoR& binning2_,  
00107                  const FillIteratorPoR& iter_ = 0 
00108                 );
00110     SFMatrixOfH2F (const char* name_,               
00111                  const char* title_,              
00112                  Int_t nbinsx,                    
00113                  const Double_t* xbins,           
00114                  Int_t nbinsy,                    
00115                  const Double_t* ybins,           
00116                  const ROListPoR& hhl,            
00117                  const FloatFunPoR& xfun_,        
00118                  const FloatFunPoR& yfun_,        
00119                  const BaseCutPoR& cut_,          
00120                  const FloatFunPoR& wfun_,        
00121                  const BinningFunPoR& binning1_,  
00122                  const BinningFunPoR& binning2_,  
00123                  const FillIteratorPoR& iter_ = 0 
00124                 );
00126     SFMatrixOfH2F (const char* name_,               
00127                  const char* title_,              
00128                  Int_t nbinsx,                    
00129                  const Float_t* xbins,            
00130                  Int_t nbinsy,                    
00131                  const Float_t* ybins,            
00132                  const ROListPoR& hhl,            
00133                  const FloatFunPoR& xfun_,        
00134                  const FloatFunPoR& yfun_,        
00135                  const BaseCutPoR& cut_,          
00136                  const FloatFunPoR& wfun_,        
00137                  const BinningFunPoR& binning1_,  
00138                  const BinningFunPoR& binning2_,  
00139                  const FillIteratorPoR& iter_ = 0 
00140                 );
00142     SFMatrixOfH2F (const char* name_,               
00143                  const char* title_,              
00144                  const Binning& xbinning,         
00145                  const Binning& ybinning,         
00146                  const ROListPoR& hhl,            
00147                  const FloatFunPoR& xfun_,        
00148                  const FloatFunPoR& yfun_,        
00149                  const BaseCutPoR& cut_,          
00150                  const FloatFunPoR& wfun_,        
00151                  const BinningFunPoR& binning1_,  
00152                  const BinningFunPoR& binning2_,  
00153                  const FillIteratorPoR& iter_ = 0 
00154                 );
00155 
00156 
00157 
00159     virtual ~SFMatrixOfH2F ();
00160     
00162 
00170     virtual void Fill ();
00171     
00173     FloatFun     *getXFun() const {return xfun;}
00175     FloatFun     *getYFun() const {return yfun;}
00177     BaseCut      *getCut()  const {return cut;}
00179     FloatFun     *getWFun() const {return wfun;}
00181     FillIterator *getIter() const {return iter;}
00182     
00183   protected:
00185     void checkIterators(const char *name          
00186                         );
00188     template<class Fun1, class Fun2>
00189     void checkTwoIterators(const char *name,      
00190                            const char *fun1name,  
00191                                  Fun1 *fun1,      
00192                            const char *fun2name,  
00193                                  Fun2 *fun2       
00194                            );
00196     template<class Fun>
00197     void checkOneIterator (const char *name,     
00198                            const char *funname,  
00199                                  Fun  *fun       
00200                            );
00201                            
00202   private:    
00203     // Data members                      
00204     FloatFun *xfun;       
00205     FloatFun *yfun;       
00206     BaseCut *cut;         
00207     FloatFun *wfun;       
00208     FillIterator *iter;   
00209        
00211     SFMatrixOfH2F (const SFMatrixOfH2F& source
00212                 );
00214     SFMatrixOfH2F& operator= (const SFMatrixOfH2F& source
00215                            );
00216 };
00217 
00218 // Implementation of inline methods
00219 
00220 #endif

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