22#include <unordered_map>
35 static const TNamed*
ptr(
const char* stringPtr) ;
56 std::unordered_map<std::string,std::unique_ptr<TNamed>>
_map;
Common abstract base class for objects that represent a value and a "shape" in RooFit.
Abstract base class for binned and unbinned datasets.
RooNameReg is a registry for const char* names.
RooNameReg(const RooNameReg &other)=delete
std::unordered_map< std::string, std::unique_ptr< TNamed > > _map
static const char * constStr(const TNamed *ptr)
Return C++ string corresponding to given TNamed pointer.
@ kRenamedArg
TNamed flag to indicate that some RooAbsArg has been renamed (flag set in new name)
static const char * str(const TNamed *ptr)
Return C++ string corresponding to given TNamed pointer.
static const TNamed * ptr(const char *stringPtr)
Return a unique TNamed pointer for given C++ string.
std::size_t _renameCounter
const TNamed * constPtr(const char *stringPtr)
Return a unique TNamed pointer for given C++ string.
static RooNameReg & instance()
Return reference to singleton instance.
~RooNameReg() override
Destructor.
static const TNamed * known(const char *stringPtr)
If the name is already known, return its TNamed pointer. Otherwise return 0 (don't register the name)...
static void incrementRenameCounter()
The renaming counter has to be incremented every time a RooAbsArg is renamed.
static const std::size_t & renameCounter()
renamed in this RooFit process.
The TNamed class is the base class for all named ROOT classes.
const char * GetName() const override
Returns name of object.