#ifndef ROO_BINNED_GEN_CONTEXT
#define ROO_BINNED_GEN_CONTEXT
#include "RooAbsGenContext.h"
#include "RooArgSet.h"
#include <vector>
class RooDataSet;
class RooRealIntegral;
class RooAcceptReject;
class RooDataHist ;
class TRandom;
class TIterator;
class RooBinnedGenContext : public RooAbsGenContext {
public:
RooBinnedGenContext(const RooAbsPdf &model, const RooArgSet &vars, const RooDataSet *prototype= 0,
const RooArgSet* auxProto=0, Bool_t _verbose= kFALSE);
virtual ~RooBinnedGenContext();
RooDataSet* generate(Double_t nEvents=0, Bool_t skipInit=kFALSE, Bool_t extendedMode=kFALSE) ;
virtual void setProtoDataOrder(Int_t*) {}
virtual void attach(const RooArgSet& params) ;
virtual void printMultiline(std::ostream &os, Int_t content, Bool_t verbose=kFALSE, TString indent="") const ;
virtual void setExpectedData(Bool_t) ;
protected:
virtual void initGenerator(const RooArgSet &theEvent);
virtual void generateEvent(RooArgSet &theEvent, Int_t remaining);
RooBinnedGenContext(const RooBinnedGenContext& other) ;
const RooArgSet* _vars ;
RooArgSet* _pdfSet ;
RooAbsPdf *_pdf ;
RooDataHist* _hist ;
Bool_t _expectedData ;
ClassDef(RooBinnedGenContext,0)
};
#endif