11#ifndef ATHENASERVICES_ATHDICTLOADERSVC_H
12#define ATHENASERVICES_ATHDICTLOADERSVC_H 1
18#include "GaudiKernel/IClassIDSvc.h"
19#include "GaudiKernel/ClassID.h"
20#include "GaudiKernel/ServiceHandle.h"
55 virtual StatusCode
finalize()
override;
61 bool has_type (
const std::string& type_name)
override;
66 bool has_type (
const std::type_info& typeinfo)
override;
78 const RootType load_type (
const std::string& type_name,
bool recursive =
false)
override;
87 const RootType load_type (
const std::type_info& typeinfo,
bool recursive =
false)
override;
117 using Memo_t = std::unordered_set<std::string>;
uint32_t CLID
The Class ID type.
const Ath::DsoDb * m_dsodb
dictionary of all known (reflex) types
virtual bool has_type(const std::string &type_name) override
check a Reflex dictionary exists for a given type
void load_recursive1(const std::string &tnam, Memo_t &memo)
virtual ~AthDictLoaderSvc()
Destructor:
virtual StatusCode finalize() override
ServiceHandle< ITPCnvSvc > m_tpCnvSvc
std::unordered_set< std::string > Memo_t
virtual StatusCode initialize() override
Gaudi Service Implementation.
void load_recursive(const RootType &typ)
AthDictLoaderSvc()
Default constructor:
ServiceHandle< IClassIDSvc > m_clidSvc
handle to a IClassIDSvc to handle loading of types by CLID
virtual const RootType load_type(const std::string &type_name, bool recursive=false) override
retrieve a Reflex::Type by name (auto)loading the dictionary by any necessary means.
AthDictLoaderSvc(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
helper class to query rootmap files and extract their content