Logo ROOT  
Reference Guide
RooAbsCacheElement Class Referenceabstract

RooAbsCacheElement is the abstract base class for objects to be stored in RooAbsCache cache manager objects.

Each storage element has an interface to pass on calls for server redirection, operation mode change calls and constant term optimization management calls

Definition at line 26 of file RooAbsCacheElement.h.

Public Types

enum  Action { OperModeChange , OptimizeCaching , FindConstantNodes }
 

Public Member Functions

 RooAbsCacheElement ()
 
virtual ~RooAbsCacheElement ()
 
virtual RooArgList containedArgs (Action)=0
 
virtual void findConstantNodes (const RooArgSet &obs, RooArgSet &cacheList, RooLinkedList &processedNodes)
 Interface for constant term optimization calls. More...
 
virtual void operModeHook (RooAbsArg::OperMode)
 Interface for operation mode change calls. More...
 
virtual void optimizeCacheMode (const RooArgSet &obs, RooArgSet &optNodes, RooLinkedList &processedNodes)
 Interface for cache optimization calls. More...
 
virtual void printCompactTreeHook (std::ostream &, const char *, Int_t curElem, Int_t totElem)
 Hook function to print cache guts in tree printing mode of RooAbsArgs. More...
 
virtual Bool_t redirectServersHook (const RooAbsCollection &, Bool_t, Bool_t, Bool_t)
 Interface for server redirect calls. More...
 
void setOwner (RooAbsArg *owner)
 

Protected Attributes

RooAbsArg_owner
 

#include <RooAbsCacheElement.h>

Inheritance diagram for RooAbsCacheElement:
[legend]

Member Enumeration Documentation

◆ Action

Enumerator
OperModeChange 
OptimizeCaching 
FindConstantNodes 

Definition at line 39 of file RooAbsCacheElement.h.

Constructor & Destructor Documentation

◆ RooAbsCacheElement()

RooAbsCacheElement::RooAbsCacheElement ( )
inline

Definition at line 29 of file RooAbsCacheElement.h.

◆ ~RooAbsCacheElement()

virtual RooAbsCacheElement::~RooAbsCacheElement ( )
inlinevirtual

Definition at line 35 of file RooAbsCacheElement.h.

Member Function Documentation

◆ containedArgs()

◆ findConstantNodes()

void RooAbsCacheElement::findConstantNodes ( const RooArgSet obs,
RooArgSet cacheList,
RooLinkedList processedNodes 
)
virtual

Interface for constant term optimization calls.

The default implementation is to forward all these calls to all contained RooAbsArg objects as publicized through containedArg()

Definition at line 90 of file RooAbsCacheElement.cxx.

◆ operModeHook()

void RooAbsCacheElement::operModeHook ( RooAbsArg::OperMode  )
virtual

Interface for operation mode change calls.

Reimplemented in RooMomentMorph::CacheElem, RooMomentMorphFunc::CacheElem, RooMomentMorphFuncND::CacheElem, RooMomentMorphND::CacheElem, and RooAbsPdf::CacheElem.

Definition at line 63 of file RooAbsCacheElement.cxx.

◆ optimizeCacheMode()

void RooAbsCacheElement::optimizeCacheMode ( const RooArgSet obs,
RooArgSet optNodes,
RooLinkedList processedNodes 
)
virtual

Interface for cache optimization calls.

The default implementation is to forward all these calls to all contained RooAbsArg objects as publicized through containedArg()

Definition at line 73 of file RooAbsCacheElement.cxx.

◆ printCompactTreeHook()

void RooAbsCacheElement::printCompactTreeHook ( std::ostream &  ,
const char *  ,
Int_t  curElem,
Int_t  totElem 
)
virtual

Hook function to print cache guts in tree printing mode of RooAbsArgs.

Reimplemented in RooAbsCachedPdf::PdfCacheElem, RooAbsCachedReal::FuncCacheElem, RooProdPdf::CacheElem, and RooProjectedPdf::CacheElem.

Definition at line 54 of file RooAbsCacheElement.cxx.

◆ redirectServersHook()

Bool_t RooAbsCacheElement::redirectServersHook ( const RooAbsCollection ,
Bool_t  ,
Bool_t  ,
Bool_t   
)
virtual

Interface for server redirect calls.

Definition at line 43 of file RooAbsCacheElement.cxx.

◆ setOwner()

void RooAbsCacheElement::setOwner ( RooAbsArg owner)
inline

Definition at line 45 of file RooAbsCacheElement.h.

Member Data Documentation

◆ _owner

RooAbsArg* RooAbsCacheElement::_owner
protected

Definition at line 52 of file RooAbsCacheElement.h.

Libraries for RooAbsCacheElement:
[legend]

The documentation for this class was generated from the following files: