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)