36 RooNameReg::RooNameReg() :
37 TNamed(
"RooNameReg",
"RooFit Name Registry")
43 RooNameReg::~RooNameReg()
51 RooNameReg& RooNameReg::instance()
53 static RooNameReg instance;
61 const TNamed* RooNameReg::constPtr(
const char* inStr)
64 if (inStr==0)
return 0 ;
67 auto elm = _map.find(inStr) ;
68 if (elm != _map.end())
return elm->second.get();
71 auto t = make_unique<TNamed>(inStr,inStr);
73 _map.emplace(std::string(inStr), std::move(t));
83 const char* RooNameReg::constStr(
const TNamed* namePtr)
85 if (namePtr)
return namePtr->GetName() ;
93 const TNamed* RooNameReg::ptr(
const char* stringPtr)
95 if (stringPtr==0)
return 0 ;
96 return instance().constPtr(stringPtr) ;
103 const char* RooNameReg::str(
const TNamed* ptr)
105 if (ptr==0)
return 0 ;
106 return instance().constStr(ptr) ;
113 const TNamed* RooNameReg::known(
const char* inStr)
116 if (inStr==0)
return 0 ;
117 RooNameReg& reg = instance();
118 const auto elm = reg._map.find(inStr);
119 return elm != reg._map.end() ? elm->second.get() :
nullptr;