16 #ifndef ROO_ABS_CACHE_ELEMENT 
   17 #define ROO_ABS_CACHE_ELEMENT 
   22 class RooAbsCollection ;
 
   26 class RooAbsCacheElement {
 
   29   RooAbsCacheElement() : _owner(0) {
 
   32   virtual Bool_t redirectServersHook(
const RooAbsCollection& , Bool_t , 
 
   34   virtual void printCompactTreeHook(std::ostream&, 
const char *, Int_t curElem, Int_t totElem) ;
 
   35   virtual ~RooAbsCacheElement() {
 
   39   enum Action { OperModeChange,OptimizeCaching,FindConstantNodes } ;
 
   40   virtual RooArgList containedArgs(Action) = 0 ;
 
   41   virtual void operModeHook(RooAbsArg::OperMode) ;
 
   42   virtual void optimizeCacheMode(
const RooArgSet& obs, RooArgSet& optNodes, RooLinkedList& processedNodes)  ;
 
   43   virtual void findConstantNodes(
const RooArgSet& obs, RooArgSet& cacheList, RooLinkedList& processedNodes) ;
 
   45   void setOwner(RooAbsArg* owner) { 
 
   54   ClassDef(RooAbsCacheElement,1)