ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Attributes | List of all members
RooCacheManager< T > Class Template Reference

template<class T>
class RooCacheManager< T >

Template class RooCacheManager manages the storage of any type of data indexed on the choice of normalization and optionally the set of integrated observables.

The purpose of this class is to faciliate storage of intermediate results in operator p.d.f.s whose value and inner working are often highly dependent on the user provided choice of normalization in getVal().

For efficiency reasons these normalization set pointer are derefenced as little as possible. This class contains a lookup table for RooArgSet pointer pairs -> normalization lists. Distinct pointer pairs that represent the same normalization/projection are recognized and will all point to the same normalization list. Lists for up to 'maxSize' different normalization/ projection configurations can be cached.

Definition at line 35 of file RooCacheManager.h.

Public Member Functions

 RooCacheManager (Int_t maxSize=2)
 
 RooCacheManager (RooAbsArg *owner, Int_t maxSize=2)
 
 RooCacheManager (const RooCacheManager &other, RooAbsArg *owner=0)
 
virtual ~RooCacheManager ()
 
TgetObj (const RooArgSet *nset, Int_t *sterileIndex=0, const TNamed *isetRangeName=0)
 
Int_t setObj (const RooArgSet *nset, T *obj, const TNamed *isetRangeName=0)
 
TgetObj (const RooArgSet *nset, const RooArgSet *iset, Int_t *sterileIdx, const char *isetRangeName)
 
TgetObj (const RooArgSet *nset, const RooArgSet *iset, Int_t *sterileIndex=0, const TNamed *isetRangeName=0)
 
Int_t setObj (const RooArgSet *nset, const RooArgSet *iset, T *obj, const TNamed *isetRangeName=0)
 
void reset ()
 
virtual void sterilize ()
 
Int_t lastIndex () const
 
Int_t cacheSize () const
 
virtual Bool_t redirectServersHook (const RooAbsCollection &, Bool_t, Bool_t, Bool_t)
 Interface for server redirect calls. More...
 
virtual void operModeHook ()
 Interface for operation mode changes. More...
 
virtual void printCompactTreeHook (std::ostream &, const char *)
 Interface for printing of cache guts in tree mode printing. More...
 
TgetObjByIndex (Int_t index) const
 
const RooNameSetnameSet1ByIndex (Int_t index) const
 
const RooNameSetnameSet2ByIndex (Int_t index) const
 
virtual void insertObjectHook (T &)
 
void wireCache ()
 
- Public Member Functions inherited from RooAbsCache
 RooAbsCache (RooAbsArg *owner=0)
 Constructor. Takes owner as argument and register cache with owner. More...
 
 RooAbsCache (const RooAbsCache &, RooAbsArg *owner=0)
 Copy constructor. Takes owner as argument and registers cache with owne. More...
 
virtual void optimizeCacheMode (const RooArgSet &, RooArgSet &, RooLinkedList &)
 Interface for processing of cache mode optimization calls. More...
 
virtual void findConstantNodes (const RooArgSet &, RooArgSet &, RooLinkedList &)
 Interface for constant term node finding calls. More...
 
virtual ~RooAbsCache ()
 Destructor. Unregisters cache with owner. More...
 

Protected Attributes

Int_t _maxSize
 
Int_t _size
 Maximum size. More...
 
Int_t _lastIndex
 Actual use. More...
 
std::vector< RooNormSetCache_nsetCache
 Last slot accessed. More...
 
std::vector< T * > _object
 Normalization/Integration set manager. More...
 
Bool_t _wired
 Payload. More...
 
- Protected Attributes inherited from RooAbsCache
RooAbsArg_owner
 

#include <RooCacheManager.h>

Inheritance diagram for RooCacheManager< T >:
[legend]

Constructor & Destructor Documentation

template<class T >
RooCacheManager< T >::RooCacheManager ( Int_t  maxSize = 2)

Definition at line 120 of file RooCacheManager.h.

template<class T >
RooCacheManager< T >::RooCacheManager ( RooAbsArg owner,
Int_t  maxSize = 2 
)

Definition at line 134 of file RooCacheManager.h.

template<class T >
RooCacheManager< T >::RooCacheManager ( const RooCacheManager< T > &  other,
RooAbsArg owner = 0 
)

Definition at line 158 of file RooCacheManager.h.

template<class T >
RooCacheManager< T >::~RooCacheManager ( )
virtual

Definition at line 185 of file RooCacheManager.h.

Member Function Documentation

template<class T>
Int_t RooCacheManager< T >::cacheSize ( ) const
inline
template<class T>
T* RooCacheManager< T >::getObj ( const RooArgSet nset,
Int_t sterileIndex = 0,
const TNamed isetRangeName = 0 
)
inline
template<class T>
T* RooCacheManager< T >::getObj ( const RooArgSet nset,
const RooArgSet iset,
Int_t sterileIdx,
const char *  isetRangeName 
)
inline

Definition at line 54 of file RooCacheManager.h.

template<class T >
T * RooCacheManager< T >::getObj ( const RooArgSet nset,
const RooArgSet iset,
Int_t sterileIndex = 0,
const TNamed isetRangeName = 0 
)

Definition at line 289 of file RooCacheManager.h.

template<class T >
T * RooCacheManager< T >::getObjByIndex ( Int_t  index) const
template<class T>
virtual void RooCacheManager< T >::insertObjectHook ( T )
inlinevirtual

Reimplemented in RooObjCacheManager.

Definition at line 90 of file RooCacheManager.h.

template<class T>
Int_t RooCacheManager< T >::lastIndex ( ) const
inline
template<class T >
const RooNameSet * RooCacheManager< T >::nameSet1ByIndex ( Int_t  index) const
template<class T >
const RooNameSet * RooCacheManager< T >::nameSet2ByIndex ( Int_t  index) const
template<class T>
virtual void RooCacheManager< T >::operModeHook ( )
inlinevirtual

Interface for operation mode changes.

Reimplemented from RooAbsCache.

Reimplemented in RooObjCacheManager.

Definition at line 79 of file RooCacheManager.h.

template<class T>
virtual void RooCacheManager< T >::printCompactTreeHook ( std::ostream &  ,
const char *   
)
inlinevirtual

Interface for printing of cache guts in tree mode printing.

Reimplemented from RooAbsCache.

Reimplemented in RooObjCacheManager.

Definition at line 82 of file RooCacheManager.h.

template<class T>
virtual Bool_t RooCacheManager< T >::redirectServersHook ( const RooAbsCollection ,
Bool_t  ,
Bool_t  ,
Bool_t   
)
inlinevirtual

Interface for server redirect calls.

Reimplemented from RooAbsCache.

Reimplemented in RooObjCacheManager.

Definition at line 74 of file RooCacheManager.h.

template<class T >
void RooCacheManager< T >::reset ( )
template<class T>
Int_t RooCacheManager< T >::setObj ( const RooArgSet nset,
T obj,
const TNamed isetRangeName = 0 
)
inline
template<class T>
Int_t RooCacheManager< T >::setObj ( const RooArgSet nset,
const RooArgSet iset,
T obj,
const TNamed isetRangeName = 0 
)

Definition at line 231 of file RooCacheManager.h.

template<class T >
void RooCacheManager< T >::sterilize ( )
virtual

Reimplemented in RooObjCacheManager.

Definition at line 216 of file RooCacheManager.h.

Referenced by RooObjCacheManager::sterilize().

template<class T>
void RooCacheManager< T >::wireCache ( )
inlinevirtual

Reimplemented from RooAbsCache.

Definition at line 94 of file RooCacheManager.h.

Member Data Documentation

template<class T>
Int_t RooCacheManager< T >::_lastIndex
protected
template<class T>
Int_t RooCacheManager< T >::_maxSize
protected

Definition at line 107 of file RooCacheManager.h.

Referenced by RooCacheManager< T >::RooCacheManager().

template<class T>
std::vector<RooNormSetCache> RooCacheManager< T >::_nsetCache
protected

Last slot accessed.

Definition at line 111 of file RooCacheManager.h.

Referenced by RooCacheManager< T >::RooCacheManager().

template<class T>
std::vector<T*> RooCacheManager< T >::_object
protected

Normalization/Integration set manager.

Definition at line 112 of file RooCacheManager.h.

Referenced by RooCacheManager< std::vector< Double_t > >::getObj(), and RooCacheManager< T >::RooCacheManager().

template<class T>
Int_t RooCacheManager< T >::_size
protected
template<class T>
Bool_t RooCacheManager< T >::_wired
protected
Collaboration diagram for RooCacheManager< T >:
[legend]

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