#ifndef ROO_NUM_CONV_PDF
#define ROO_NUM_CONV_PDF
#include "RooAbsPdf.h"
#include "RooNumConvolution.h"
class TH2 ;
class RooArgSet ;
class RooDataSet ;
class RooNumConvPdf : public RooAbsPdf {
public:
  RooNumConvPdf(const char *name, const char *title, 
                RooRealVar& convVar, RooAbsPdf& pdf, RooAbsPdf& resmodel) ;
  RooNumConvPdf(const RooNumConvPdf& other, const char* name=0) ;
  virtual TObject* clone(const char* newname) const { return new RooNumConvPdf(*this,newname) ; }
  virtual ~RooNumConvPdf() ;
  virtual Double_t evaluate() const ;
  
  inline RooNumIntConfig& convIntConfig() { return conv().convIntConfig() ; }
  inline void clearConvolutionWindow() { conv().clearConvolutionWindow() ; }
  inline void setConvolutionWindow(RooAbsReal& centerParam, RooAbsReal& widthParam, Double_t widthScaleFactor=1) 
	{ conv().setConvolutionWindow(centerParam,widthParam,widthScaleFactor) ; }
  inline void setCallWarning(Int_t threshold=2000) { conv().setCallWarning(threshold) ; }
  inline void setCallProfiling(Bool_t flag, Int_t nbinX = 40, Int_t nbinCall = 40, Int_t nCallHigh=1000) 
	{ conv().setCallProfiling(flag,nbinX,nbinCall,nCallHigh) ; }
  inline const TH2* profileData() const { return conv().profileData() ; }
  
  RooRealVar&  var() const { return (RooRealVar&) _origVar.arg() ; }
  RooAbsReal&  pdf() const { return (RooAbsReal&) _origPdf.arg() ; }
  RooAbsReal&  model() const { return (RooAbsReal&) _origModel.arg() ; }
protected:
  
  
  RooNumConvolution& conv() const { if (!_init) initialize() ; return *_conv ; }
  mutable Bool_t _init ;
  void initialize() const ;
  mutable RooNumConvolution* _conv ;
  RooRealProxy _origVar ;         
  RooRealProxy _origPdf ;         
  RooRealProxy _origModel ;       
  virtual RooAbsGenContext* genContext(const RooArgSet &vars, const RooDataSet *prototype=0, 
                                       const RooArgSet* auxProto=0, Bool_t verbose= kFALSE) const ;
  friend class RooConvGenContext ;
  ClassDef(RooNumConvPdf,0)          
};
#endif
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.