16 #ifndef ROO_GEN_PROD_PROJ 
   17 #define ROO_GEN_PROD_PROJ 
   26 class RooGenProdProj : 
public RooAbsReal {
 
   30   RooGenProdProj(
const char *name, 
const char *title, 
const RooArgSet& _prodSet, 
const RooArgSet& _intSet, 
 
   31        const RooArgSet& _normSet, 
const char* isetRangeName, 
const char* normRangeName=0, Bool_t doFactorize=kTRUE) ;
 
   33   RooGenProdProj(
const RooGenProdProj& other, 
const char* name = 0);
 
   34   virtual TObject* clone(
const char* newname)
 const { 
return new RooGenProdProj(*
this, newname); }
 
   35   virtual ~RooGenProdProj() ;
 
   39   RooAbsReal* makeIntegral(
const char* name, 
const RooArgSet& compSet, 
const RooArgSet& intSet, 
 
   40             RooArgSet& saveSet, 
const char* isetRangeName, Bool_t doFactorize) ;
 
   42   virtual void operModeHook() ;
 
   44   Double_t evaluate() 
const;
 
   45   RooArgSet* _compSetOwnedN ; 
 
   46   RooArgSet* _compSetOwnedD ; 
 
   47   RooSetProxy _compSetN ; 
 
   48   RooSetProxy _compSetD ; 
 
   49   RooListProxy _intList ; 
 
   52   ClassDef(RooGenProdProj,1)