Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
RooAbsSelfCachedPdf.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Project: RooFit *
3  * *
4  * Copyright (c) 2000-2005, Regents of the University of California *
5  * and Stanford University. All rights reserved. *
6  * *
7  * Redistribution and use in source and binary forms, *
8  * with or without modification, are permitted according to the terms *
9  * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
10  *****************************************************************************/
11 
12 #ifndef ROOABSSELFCACHEDPDF
13 #define ROOABSSELFCACHEDPDF
14 
15 #include "RooAbsCachedPdf.h"
16 #include "RooRealProxy.h"
17 #include "RooAbsReal.h"
18 #include "RooHistPdf.h"
19 #include <list>
20 
21 class RooAbsSelfCachedPdf : public RooAbsCachedPdf {
22 public:
23 
24  RooAbsSelfCachedPdf() {} ;
25  RooAbsSelfCachedPdf(const char *name, const char *title, Int_t ipOrder=0);
26  RooAbsSelfCachedPdf(const RooAbsSelfCachedPdf& other, const char* name=0) ;
27  virtual ~RooAbsSelfCachedPdf() ;
28 
29 protected:
30 
31  virtual const char* inputBaseName() const {
32  // Use own name as base name for caches
33  return GetName() ;
34  }
35  virtual RooArgSet* actualObservables(const RooArgSet& nset) const ;
36  virtual RooArgSet* actualParameters(const RooArgSet& nset) const ;
37  virtual void fillCacheObject(PdfCacheElem& cache) const ;
38 
39 private:
40 
41  ClassDef(RooAbsSelfCachedPdf,0) // Abstract base class for self-caching p.d.f.s
42 };
43 
44 #endif