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)