16 #ifndef ROO_OBJ_CACHE_MANAGER
17 #define ROO_OBJ_CACHE_MANAGER
33 class RooObjCacheManager :
public RooCacheManager<RooAbsCacheElement> {
37 RooObjCacheManager(RooAbsArg* owner=0, Int_t maxSize=2, Bool_t clearCacheOnServerRedirect=kTRUE, Bool_t allowOptimize=kFALSE) ;
38 RooObjCacheManager(
const RooObjCacheManager& other, RooAbsArg* owner=0) ;
39 virtual ~RooObjCacheManager() ;
41 virtual Bool_t redirectServersHook(
const RooAbsCollection& , Bool_t , Bool_t , Bool_t ) ;
42 virtual void operModeHook() ;
43 virtual void optimizeCacheMode(
const RooArgSet& , RooArgSet& , RooLinkedList& ) ;
44 virtual void printCompactTreeHook(std::ostream&,
const char *) ;
45 virtual void findConstantNodes(
const RooArgSet& , RooArgSet& , RooLinkedList& ) ;
47 virtual void insertObjectHook(RooAbsCacheElement&) ;
51 static void doClearObsList(Bool_t flag) { _clearObsList = flag ; }
52 static Bool_t clearObsList() {
return _clearObsList ; }
54 void setClearOnRedirect(Bool_t flag) { _clearOnRedirect = flag ; }
58 Bool_t _clearOnRedirect ;
59 Bool_t _allowOptimize ;
60 Bool_t _optCacheModeSeen ;
62 RooArgSet* _optCacheObservables ;
64 static Bool_t _clearObsList ;
66 ClassDef(RooObjCacheManager,3)