16 #ifndef ROO_ABS_GEN_CONTEXT
17 #define ROO_ABS_GEN_CONTEXT
26 class RooAbsGenContext :
public TNamed,
public RooPrintable {
28 RooAbsGenContext(
const RooAbsPdf &model,
const RooArgSet &vars,
const RooDataSet *prototype= 0,
const RooArgSet* auxProto=0,
29 Bool_t _verbose= kFALSE) ;
30 virtual ~RooAbsGenContext();
32 virtual RooDataSet *generate(Double_t nEvents= 0, Bool_t skipInit=kFALSE, Bool_t extendedMode=kFALSE);
34 Bool_t isValid()
const {
39 inline void setVerbose(Bool_t verbose= kTRUE) {
43 inline Bool_t isVerbose()
const {
48 virtual void setProtoDataOrder(Int_t* lut) ;
50 inline virtual void Print(Option_t *options= 0)
const {
52 printStream(defaultPrintStream(),defaultPrintContents(options),defaultPrintStyle(options));
55 virtual void attach(
const RooArgSet& params) ;
57 virtual void printName(std::ostream& os)
const ;
58 virtual void printTitle(std::ostream& os)
const ;
59 virtual void printClassName(std::ostream& os)
const ;
60 virtual void printArgs(std::ostream& os)
const ;
61 virtual void printMultiline(std::ostream& os, Int_t contents, Bool_t verbose=kFALSE, TString indent=
"")
const;
63 virtual Int_t defaultPrintContents(Option_t* opt)
const ;
64 virtual StyleOption defaultPrintStyle(Option_t* opt)
const ;
66 virtual void setExpectedData(Bool_t) {} ;
68 virtual void generateEvent(RooArgSet &theEvent, Int_t remaining) = 0;
69 virtual void initGenerator(
const RooArgSet &theEvent);
73 virtual RooDataSet* createDataSet(
const char* name,
const char* title,
const RooArgSet& obs) ;
75 void resampleData(Double_t& ratio) ;
77 const RooDataSet *_prototype;
81 UInt_t _expectedEvents;
83 Int_t _nextProtoIndex;
84 RooAbsPdf::ExtendMode _extendMode ;
88 RooDataSet* _genData ;
90 ClassDef(RooAbsGenContext,0)