5#ifndef XAODROOTACCESS_THOLDERCACHE_H
6#define XAODROOTACCESS_THOLDERCACHE_H
10#include <shared_mutex>
38 std::pair< bool, ::TClass* >
39 getClass(
const std::type_info& ti )
const;
41 void addClass(
const std::type_info& ti, ::TClass* cl );
44 int getRef(
void* ptr )
const;
57 std::map< const std::type_info*, TClass* >
m_typeMap;
std::shared_timed_mutex m_typeMapMutex
Mutex for the type map.
static THolderCache & instance()
Singleton accessor.
int getRef(void *ptr) const
Get the reference count of an object in memory.
void addClass(const std::type_info &ti, ::TClass *cl)
Add the dictionary for a given type.
std::pair< bool, ::TClass * > getClass(const std::type_info &ti) const
Get the dictionary for a given type info.
std::shared_timed_mutex m_refMapMutex
Mutex for the reference count map.
THolderCache()
Hide the constructor of the class from the outside.
std::map< const std::type_info *, TClass * > m_typeMap
The type map.
THolderCache(const THolderCache &)=delete
Delete the copy constructor.
int decRef(void *ptr)
Decrease the reference count of an object in memory.
std::map< void *, int > m_refMap
The reference count map.
int incRef(void *ptr)
Increment the reference count of an object in memory.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.