32 class RooProduct : 
public RooAbsReal {
 
   36   RooProduct(
const char *name, 
const char *title, 
const RooArgList& _prodSet) ;
 
   38   RooProduct(
const RooProduct& other, 
const char* name = 0);
 
   39   virtual TObject* clone(
const char* newname)
 const { 
return new RooProduct(*
this, newname); }
 
   40   virtual Bool_t forceAnalyticalInt(
const RooAbsArg& dep) 
const ;
 
   41   virtual Int_t getAnalyticalIntegralWN(RooArgSet& allVars, RooArgSet& analVars,
 
   42                                                    const RooArgSet* normSet,
 
   43                                                    const char* rangeName=0) 
const ;
 
   44   virtual Double_t analyticalIntegral(Int_t code, 
const char* rangeName=0) 
const;
 
   47   RooArgList components() { RooArgList tmp(_compRSet) ; tmp.add(_compCSet) ; 
return tmp ; }
 
   49   virtual ~RooProduct() ;
 
   53   void printMetaArgs(std::ostream& os) 
const ;
 
   55   virtual std::list<Double_t>* binBoundaries(RooAbsRealLValue& , Double_t , Double_t ) 
const ;
 
   56   virtual std::list<Double_t>* plotSamplingHint(RooAbsRealLValue& , Double_t , Double_t ) 
const ;
 
   57   virtual Bool_t isBinnedDistribution(
const RooArgSet& obs) 
const ;
 
   59   virtual CacheMode canNodeBeCached()
 const { 
return RooAbsArg::NotAdvised ; } ;
 
   60   virtual void setCacheAndTrackHints(RooArgSet&) ;
 
   64   RooListProxy _compRSet ;
 
   65   RooListProxy _compCSet ;
 
   67   class CacheElem : 
public RooAbsCacheElement {
 
   71       RooArgList _prodList ;
 
   72       RooArgList _ownedList ;
 
   73       virtual RooArgList containedArgs(Action) ;
 
   75   mutable RooObjCacheManager _cacheMgr ; 
 
   78   Double_t calculate(
const RooArgList& partIntList) 
const;
 
   79   Double_t evaluate() 
const;
 
   80   const char* makeFPName(
const char *pfx,
const RooArgSet& terms) 
const ;
 
   81   ProdMap* groupProductTerms(
const RooArgSet&) 
const;
 
   82   Int_t getPartIntList(
const RooArgSet* iset, 
const char *rangeName=0) 
const;
 
   87   ClassDef(RooProduct,2)