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)