16 #ifndef ROO_RESOLUTION_MODEL 
   17 #define ROO_RESOLUTION_MODEL 
   24 class RooAbsAnaConvPdf;
 
   26 class RooResolutionModel : 
public RooAbsPdf {
 
   30   inline RooResolutionModel() : _basis(0) { }
 
   31   RooResolutionModel(
const char *name, 
const char *title, RooRealVar& x) ; 
 
   32   RooResolutionModel(
const RooResolutionModel& other, 
const char* name=0);
 
   33   virtual TObject* clone(
const char* newname) 
const = 0 ;
 
   34   virtual ~RooResolutionModel();
 
   36   virtual RooAbsGenContext* modelGenContext(
const RooAbsAnaConvPdf&, 
const RooArgSet&,
 
   37                                             const RooDataSet*, 
const RooArgSet*,
 
   38                                             Bool_t)
 const { 
return 0; }
 
   40   Double_t getValV(
const RooArgSet* nset=0) 
const ;
 
   41   virtual RooResolutionModel* convolution(RooFormulaVar* basis, RooAbsArg* owner) 
const ;
 
   42   RooRealVar& convVar() 
const ;
 
   43   const RooRealVar& basisConvVar() 
const ;
 
   45   inline Bool_t isBasisSupported(
const char* name)
 const { 
return basisCode(name)?kTRUE:kFALSE ; }
 
   46   virtual Int_t basisCode(
const char* name) 
const = 0 ;
 
   48   virtual void normLeafServerList(RooArgSet& list) 
const ;
 
   49   Double_t getNorm(
const RooArgSet* nset=0) 
const ;
 
   51   inline const RooFormulaVar& basis()
 const { 
return _basis?*_basis:*identity() ; }
 
   52   Bool_t isConvolved() { 
return _basis ? kTRUE : kFALSE ; }
 
   54   virtual void printMultiline(std::ostream& os, Int_t content, Bool_t verbose=kFALSE, TString indent=
"") 
const ;
 
   56   static RooFormulaVar* identity() ;
 
   58   virtual void changeBasis(RooFormulaVar* basis) ;
 
   62   friend class RooConvGenContext ;
 
   63   friend class RooAddModel ;
 
   66   virtual Bool_t redirectServersHook(
const RooAbsCollection& newServerList, Bool_t mustReplaceAll, Bool_t nameChange, Bool_t isRecursive) ;
 
   70   friend class RooAbsAnaConvPdf ;
 
   73   RooFormulaVar* _basis ;    
 
   76   ClassDef(RooResolutionModel,1)