16 #ifndef ROO_PROD_GEN_CONTEXT
17 #define ROO_PROD_GEN_CONTEXT
25 class RooRealIntegral;
26 class RooAcceptReject;
29 class RooSuperCategory ;
31 class RooProdGenContext :
public RooAbsGenContext {
33 RooProdGenContext(
const RooProdPdf &model,
const RooArgSet &vars,
const RooDataSet *prototype= 0,
34 const RooArgSet* auxProto=0, Bool_t _verbose= kFALSE);
35 virtual ~RooProdGenContext();
37 virtual void setProtoDataOrder(Int_t* lut) ;
38 virtual void printMultiline(std::ostream &os, Int_t content, Bool_t verbose=kFALSE, TString indent=
"")
const ;
40 virtual void attach(
const RooArgSet& params) ;
44 virtual void initGenerator(
const RooArgSet &theEvent);
45 virtual void generateEvent(RooArgSet &theEvent, Int_t remaining);
47 void updateCCDTable() ;
50 RooProdGenContext(
const RooProdGenContext& other) ;
52 RooArgSet _commonCats ;
53 RooArgSet* _ccdCloneSet ;
54 RooSuperCategory* _ccdSuper ;
55 RooArgSet* _pdfCloneSet ;
56 RooAbsPdf* _pdfClone ;
57 RooRealIntegral* _pdfCcdInt ;
61 Double_t * _ccdTable ;
62 const RooProdPdf *_pdf ;
63 std::list<RooAbsGenContext*> _gcList ;
64 RooArgSet _ownedMultiProds ;
66 ClassDef(RooProdGenContext,0)