53 _clearOnRedirect(clearCacheOnServerRedirect),
54 _allowOptimize(allowOptimize),
55 _optCacheModeSeen(false),
56 _optCacheObservables(0)
66 _clearOnRedirect(other._clearOnRedirect),
67 _allowOptimize(other._allowOptimize),
68 _optCacheModeSeen(false),
69 _optCacheObservables(0)
100 _object[i]->redirectServersHook(newServerList,mustReplaceAll,nameChange,isRecursive) ;
150 _object[i]->optimizeCacheMode(obs,optNodes,processedNodes) ;
223 _object[i]->findConstantNodes(obs,cacheList, processedNodes) ;
static void indent(ostringstream &buf, int indent_level)
RooAbsArg is the common abstract base class for objects that represent a value and a "shape" in RooFi...
OperMode operMode() const
Query the operation mode of this node.
RooAbsCacheElement is the abstract base class for objects to be stored in RooAbsCache cache manager o...
virtual void optimizeCacheMode(const RooArgSet &obs, RooArgSet &optNodes, RooLinkedList &processedNodes)
Interface for cache optimization calls.
void setOwner(RooAbsArg *owner)
RooAbsArg * _owner
Pointer to owning RooAbsArg.
RooAbsCollection is an abstract container object that can hold multiple RooAbsArg objects.
virtual void removeAll()
Remove all arguments from our set, deleting them if we own them.
virtual bool add(const RooAbsArg &var, bool silent=false)
Add the specified argument to list.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Template class RooCacheManager manages the storage of any type of data indexed on the choice of norma...
Int_t cacheSize() const
Return size of cache.
virtual void sterilize()
Clear the cache payload but retain slot mapping w.r.t to normalization and integration sets.
std::vector< RooAbsCacheElement * > _object
! Payload
RooLinkedList is an collection class for internal use, storing a collection of RooAbsArg pointers in ...
Class RooObjCacheManager is an implementation of class RooCacheManager<RooAbsCacheElement> and specia...
void operModeHook() override
Intercept changes to cache operation mode and forward to cache elements.
RooObjCacheManager(RooAbsArg *owner=nullptr, Int_t maxSize=2, bool clearCacheOnServerRedirect=true, bool allowOptimize=false)
Constructor of object cache manager for given owner.
~RooObjCacheManager() override
Destructor.
void insertObjectHook(RooAbsCacheElement &) override
Set owner link on all object inserted into cache.
void printCompactTreeHook(std::ostream &, const char *) override
Add details on cache contents when printing in tree mode.
bool redirectServersHook(const RooAbsCollection &, bool, bool, bool) override
Intercept server redirect calls.
static bool _clearObsList
Clear obslist on sterilize?
void findConstantNodes(const RooArgSet &, RooArgSet &, RooLinkedList &) override
If clearOnRedirect is false, forward constant term optimization calls to cache elements.
RooArgSet * _optCacheObservables
! current optCacheObservables
void sterilize() override
Clear the cache payload but retain slot mapping w.r.t to normalization and integration sets.
void optimizeCacheMode(const RooArgSet &, RooArgSet &, RooLinkedList &) override
Intercept calls to perform automatic optimization of cache mode operation.
const char * GetName() const override
Returns name of object.