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

SFH1F.h

Go to the documentation of this file.
00001 
00009 #ifndef __SFH1F_H
00010 #define __SFH1F_H
00011 
00012 #include "jbltools/sfh/SFO.h"
00013 #include "jbltools/sfh/RegH1F.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 Binning;
00023 
00024 //  Class SFH1F:
00026 
00047 class SFH1F : public RegH1F, public SFO {
00048   public:
00050     SFH1F (const char* name,                  
00051            const char* title,                 
00052            Int_t nbinsx,                      
00053            Axis_t xlow,                       
00054            Axis_t xup,                        
00055            const ROListPoR& hhl,               
00056            const FloatFunPoR& xfun_,          
00057            const BaseCutPoR& cut_ = 0,        
00058            const FloatFunPoR& wfun_ = 0,      
00059            const FillIteratorPoR& iter_ = 0   
00060            );
00062     SFH1F (const char* name,                  
00063            const char* title,                 
00064            Int_t nbinsx,                      
00065            const Float_t* xbins,              
00066            const ROListPoR& hhl,               
00067            const FloatFunPoR& xfun_,          
00068            const BaseCutPoR& cut_ = 0,        
00069            const FloatFunPoR& wfun_ = 0,      
00070            const FillIteratorPoR iter_ = 0    
00071            );                                 
00073     SFH1F (const char* name,                  
00074            const char* title,                 
00075            Int_t nbinsx,                      
00076            const Double_t* xbins,             
00077            const ROListPoR& hhl,               
00078            const FloatFunPoR& xfun_,          
00079            const BaseCutPoR& cut_ = 0,        
00080            const FloatFunPoR& wfun_ = 0,      
00081            FillIteratorPoR iter_ = 0          
00082            );
00084     SFH1F (const char* name,                  
00085            const char* title,                 
00086            const Binning& binning,            
00087            const ROListPoR& hhl,               
00088            const FloatFunPoR& xfun_,          
00089            const BaseCutPoR& cut_ = 0,        
00090            const FloatFunPoR& wfun_ = 0,      
00091            FillIteratorPoR iter_ = 0          
00092            );                                 
00094     SFH1F (const char* name,                  
00095            const char* title,                 
00096            const TH1F& source,                
00097            const ROListPoR& hhl,              
00098            const FloatFunPoR& xfun_,          
00099            const BaseCutPoR& cut_ = 0,        
00100            const FloatFunPoR& wfun_ = 0,      
00101            FillIteratorPoR iter_ = 0          
00102            );
00103     
00104     
00105     virtual ~SFH1F ();
00107 
00115     virtual void Fill ();
00116     
00118     FloatFun     *getXFun() const {return xfun;}
00120     BaseCut      *getCut()  const {return cut;}
00122     FloatFun     *getWFun() const {return wfun;}
00124     FillIterator *getIter() const {return iter;}
00125     
00126   protected:
00127     
00128   private:
00130     SFH1F (const SFH1F& source);
00132     SFH1F& operator= (const SFH1F& source);
00133     
00134   protected:
00136     void checkIterators (const char *name         
00137                         );
00139     template<class Fun1, class Fun2>
00140     void checkTwoIterators(const char *name,      
00141                            const char *fun1name,  
00142                                  Fun1 *fun1,      
00143                            const char *fun2name,  
00144                                  Fun2 *fun2);     
00145 
00146     template<class Fun>
00147     void checkOneIterator (const char *name,     
00148                            const char *funname,  
00149                                  Fun  *fun);     
00150   
00151     // Data members
00152     FloatFun *xfun;       
00153     BaseCut *cut;         
00154     FloatFun *wfun;       
00155     FillIterator *iter;   
00156 };
00157 
00158 #endif

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