16 #ifndef ROO_SEGMENTED_INTEGRATOR_2D 
   17 #define ROO_SEGMENTED_INTEGRATOR_2D 
   23 class RooSegmentedIntegrator2D : 
public RooSegmentedIntegrator1D {
 
   27   RooSegmentedIntegrator2D() ;
 
   29   RooSegmentedIntegrator2D(
const RooAbsFunc& 
function, 
const RooNumIntConfig& config) ;
 
   30   RooSegmentedIntegrator2D(
const RooAbsFunc& 
function, Double_t xmin, Double_t xmax, Double_t ymin, Double_t ymax,
 
   31         const RooNumIntConfig& config) ;
 
   32   virtual RooAbsIntegrator* clone(
const RooAbsFunc& 
function, 
const RooNumIntConfig& config) 
const ;
 
   33   virtual ~RooSegmentedIntegrator2D() ;
 
   35   virtual Bool_t checkLimits() 
const;
 
   37   virtual Bool_t canIntegrate1D()
 const { 
return kFALSE ; }
 
   38   virtual Bool_t canIntegrate2D()
 const { 
return kTRUE ; }
 
   39   virtual Bool_t canIntegrateND()
 const { 
return kFALSE ; }
 
   40   virtual Bool_t canIntegrateOpenEnded()
 const { 
return kFALSE ; }
 
   44   friend class RooNumIntFactory ;
 
   45   static void registerIntegrator(RooNumIntFactory& fact) ;  
 
   47   RooSegmentedIntegrator1D* _xIntegrator ;
 
   50   ClassDef(RooSegmentedIntegrator2D,0)