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.
The ROOT global object gROOT contains a list of all defined classes.
Iterator abstract base class.
Mother of all ROOT objects.
const char * Data() const