12 #ifndef ROONUMRUNNINGINT 
   13 #define ROONUMRUNNINGINT 
   20 class RooNumRunningInt : 
public RooAbsCachedReal {
 
   22   RooNumRunningInt(
const char *name, 
const char *title, RooAbsReal& _func, RooRealVar& _x, 
const char* binningName=
"cache");
 
   23   RooNumRunningInt(
const RooNumRunningInt& other, 
const char* name=0) ;
 
   24   virtual TObject* clone(
const char* newname)
 const { 
return new RooNumRunningInt(*
this,newname); }
 
   25   virtual ~RooNumRunningInt() ;
 
   29   class RICacheElem: 
public FuncCacheElem {
 
   31     RICacheElem(
const RooNumRunningInt& ri, 
const RooArgSet* nset) ;
 
   33     virtual RooArgList containedArgs(Action) ;
 
   34     void calculate(Bool_t cdfmode) ;
 
   35     void addRange(Int_t ixlo, Int_t ixhi, Int_t nbins) ;
 
   36     void addPoint(Int_t ix) ;
 
   38     RooNumRunningInt* _self ;
 
   45   friend class RICacheElem ;
 
   46   virtual const char* binningName()
 const { 
return _binningName.c_str() ; }
 
   47   virtual FuncCacheElem* createCache(
const RooArgSet* nset) 
const ;
 
   48   virtual const char* inputBaseName() 
const ; 
 
   49   virtual RooArgSet* actualObservables(
const RooArgSet& nset) 
const ;
 
   50   virtual RooArgSet* actualParameters(
const RooArgSet& nset) 
const ;
 
   51   virtual void fillCacheObject(FuncCacheElem& cacheFunc) 
const ;
 
   52   virtual Double_t evaluate() 
const ;
 
   54   virtual const char* payloadUniqueSuffix()
 const { 
return func.arg().aggregateCacheUniqueSuffix() ; }
 
   58   std::string _binningName ; 
 
   62   ClassDef(RooNumRunningInt,1)