16 #ifndef ROO_CONV_GEN_CONTEXT 
   17 #define ROO_CONV_GEN_CONTEXT 
   22 class RooAbsAnaConvPdf;
 
   24 class RooRealIntegral;
 
   25 class RooAcceptReject;
 
   32 class RooConvGenContext : 
public RooAbsGenContext {
 
   34   RooConvGenContext(
const RooFFTConvPdf &model, 
const RooArgSet &vars, 
const RooDataSet *prototype= 0,
 
   35           const RooArgSet* auxProto=0, Bool_t _verbose= kFALSE);
 
   36   RooConvGenContext(
const RooNumConvPdf &model, 
const RooArgSet &vars, 
const RooDataSet *prototype= 0,
 
   37           const RooArgSet* auxProto=0, Bool_t _verbose= kFALSE);
 
   38   RooConvGenContext(
const RooAbsAnaConvPdf &model, 
const RooArgSet &vars, 
const RooDataSet *prototype= 0,
 
   39           const RooArgSet* auxProto=0, Bool_t _verbose= kFALSE);
 
   40   virtual ~RooConvGenContext();
 
   42   virtual void setProtoDataOrder(Int_t* lut) ;
 
   44   virtual void attach(
const RooArgSet& params) ;
 
   46   virtual void printMultiline(std::ostream &os, Int_t content, Bool_t verbose=kFALSE, TString indent=
"") 
const ;
 
   48   virtual void initGenerator(
const RooArgSet &theEvent);
 
   49   virtual void generateEvent(RooArgSet &theEvent, Int_t remaining);
 
   53   RooConvGenContext(
const RooConvGenContext& other) ;
 
   55   RooAbsGenContext* _pdfGen ;   
 
   56   RooAbsGenContext* _modelGen ; 
 
   57   TString _convVarName ;        
 
   58   RooArgSet* _pdfVarsOwned ;    
 
   59   RooArgSet* _modelVarsOwned ;  
 
   61   RooArgSet* _modelVars ;       
 
   62   RooArgSet* _pdfCloneSet ;     
 
   63   RooArgSet* _modelCloneSet ;   
 
   64   RooRealVar* _cvModel ;         
 
   68   ClassDef(RooConvGenContext,0)