5#ifndef XAODROOTACCESS_TOOLS_TDESTRUCTORREGISTRY_H
6#define XAODROOTACCESS_TOOLS_TDESTRUCTORREGISTRY_H
10#include <shared_mutex>
50 typedef std::map<
const std::type_info*,
51 std::unique_ptr< TVirtualDestructor > >
Map_t;
TDestructorRegistry()
Hide the constructor of the type.
Map_t m_types
Internal map of known destructor objects.
TDestructorRegistry(const TDestructorRegistry &)=delete
Hide the copy-constructor.
std::map< const std::type_info *, std::unique_ptr< TVirtualDestructor > > Map_t
Type of the internal map.
std::shared_timed_mutex m_mutex
Mutex for the destructor map.
void add()
Add a new destructor object.
const TVirtualDestructor * get(const std::type_info &ti) const
Get the destructor for a given type.
static TDestructorRegistry & instance()
Function accessing the singleton instance of this type.
Base class for the templated destructor types.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.