16#ifndef ROO_EXPENSIVE_OBJECT_CACHE
17#define ROO_EXPENSIVE_OBJECT_CACHE
85 std::map<TString,ExpensiveObject*>
_map ;
#define ClassDef(name, id)
RooArgSet is a container object that can hold multiple RooAbsArg objects.
std::map< TString, Double_t > _realRefParams
Bool_t matches(TClass *tc, const RooArgSet ¶ms)
Check object type ;.
void setPayload(TObject *obj)
virtual ~ExpensiveObject()
const char * ownerName() const
std::map< TString, Int_t > _catRefParams
const TObject * payload() const
RooExpensiveObjectCache is a singleton class that serves as repository for objects that are expensive...
static void cleanup()
Static function called by RooSentinel atexit() handler to cleanup at end of program.
const TObject * getObj(Int_t uniqueID)
Retrieve payload object of cache element with given unique ID
Bool_t registerObject(const char *ownerName, const char *objectName, TObject &cacheObject, TIterator *paramIter)
Register object associated with given name and given associated parameters with given values in cache...
RooExpensiveObjectCache()
Constructor.
static RooExpensiveObjectCache * _instance
std::map< TString, ExpensiveObject * > _map
const TObject * retrieveObject(const char *name, TClass *tclass, const RooArgSet ¶ms)
Retrieve object from cache that was registered under given name with given parameters,...
Bool_t clearObj(Int_t uniqueID)
Clear cache element with given unique ID Retrieve payload object of cache element with given unique I...
void importCacheObjects(RooExpensiveObjectCache &other, const char *ownerName, Bool_t verbose=kFALSE)
void clearAll()
Clear all cache elements.
virtual ~RooExpensiveObjectCache()
Destructor.
static RooExpensiveObjectCache & instance()
Return reference to singleton instance.
Bool_t setObj(Int_t uniqueID, TObject *obj)
Place new payload object in cache element with given unique ID.
TClass instances represent classes, structs and namespaces in the ROOT type system.
Iterator abstract base class.
Mother of all ROOT objects.
const char * Data() const