16 #ifndef ROO_REAL_BINDING
17 #define ROO_REAL_BINDING
22 class RooAbsRealLValue;
26 class RooRealBinding :
public RooAbsFunc {
28 RooRealBinding(
const RooAbsReal& func,
const RooArgSet &vars,
const RooArgSet* nset=0, Bool_t clipInvalid=kFALSE,
const TNamed* rangeName=0);
29 RooRealBinding(
const RooRealBinding& other,
const RooArgSet* nset=0) ;
30 virtual ~RooRealBinding();
32 virtual Double_t operator()(
const Double_t xvector[])
const;
33 virtual Double_t getMinLimit(UInt_t dimension)
const;
34 virtual Double_t getMaxLimit(UInt_t dimension)
const;
36 virtual void saveXVec()
const ;
37 virtual void restoreXVec()
const ;
39 virtual const char* getName()
const ;
41 virtual std::list<Double_t>* binBoundaries(Int_t)
const ;
42 virtual std::list<Double_t>* plotSamplingHint(RooAbsRealLValue& , Double_t , Double_t )
const ;
46 void loadValues(
const Double_t xvector[])
const;
47 const RooAbsReal *_func;
48 RooAbsRealLValue **_vars;
49 const RooArgSet *_nset;
50 mutable Bool_t _xvecValid;
52 mutable Double_t* _xsave ;
53 const TNamed* _rangeName ;
55 mutable std::list<RooAbsReal*> _compList ;
56 mutable std::list<Double_t> _compSave ;
57 mutable Double_t _funcSave ;
59 ClassDef(RooRealBinding,0)