ROOT logo
ROOT » ROOFIT » ROOFITCORE » RooExpensiveObjectCache::ExpensiveObject

class RooExpensiveObjectCache::ExpensiveObject



RooExpensiveObjectCache is a singleton class that serves as repository for objects that are expensive to calculate. Owners of such objects can registers these here with associated parameter values for which the object is valid, so that other instances can, at a later moment retrieve these precalculated objects

Function Members (Methods)

Data Members

protected:
map<TString,Int_t>_catRefParamsNames and values of discrete-valued reference parameters
TString_ownerNameName of RooAbsArg object that is associated to cache contents
TObject*_payloadPayload
map<TString,Double_t>_realRefParamsNames and values of real-valued reference parameters
Int_t_uidUnique element ID ;

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

ExpensiveObject(Int_t uid, const char* ownerName, TObject& payload, TIterator* paramIter)
 Construct ExpensiveObject oject for inPayLoad and store reference values
 for all RooAbsReal and RooAbsCategory parameters in params.
ExpensiveObject(Int_t uid, const RooExpensiveObjectCache::ExpensiveObject& other)
~ExpensiveObject()
Bool_t matches(TClass* tc, const RooArgSet& params)
 Check object type ;
void print()
ExpensiveObject()
{ _uid = 0 ; _payload = 0 ; }
ExpensiveObject(Int_t uid, const char* ownerName, TObject& payload, TIterator* paramIter)
Int_t uid() const
{ return _uid ; }
const TObject* payload() const
{ return _payload ; }
TObject* payload()
{ return _payload ; }
void setPayload(TObject* obj)
{ _payload = obj ; }
const char* ownerName() const
{ return _ownerName.Data() ; }