12#include "GaudiKernel/Algorithm.h"
31 for (
const std::string& pattern :
m_typeNames.value())
36 const Gaudi::Algorithm *parentAlg =
37 dynamic_cast< const Gaudi::Algorithm*
>(parent());
42 return StatusCode::SUCCESS;
53 return StatusCode::SUCCESS;
63 auto p_event_format = std::make_unique< xAOD::EventFormat >();
64 event_format = p_event_format.
get();
75 return StatusCode::SUCCESS;
82 const std::string& key = elem.getKey();
87 bool ignoreObject =
false;
89 if (std::regex_match(key, ignorePattern)) {
94 if (ignoreObject)
continue;
113 bool ignoreObject =
true;
115 if (std::regex_match(typeName, typePattern)) {
116 ignoreObject =
false;
120 if (ignoreObject)
continue;
132 if (event_format->
exists(key))
continue;
133 static const std::string emptyStr{};
139 <<
", typeName = \"" << typeName <<
"\""
140 <<
", hash = 0x" << std::hex << std::setw(8)
141 << std::setfill(
'0') << hash);
142 }
catch (
const std::exception& e) {
148 return StatusCode::SUCCESS;
154 const std::set<CLID>& classIDs,
155 const std::vector<sgkey_t>& hashes)
const {
157 if (classIDs.size() != hashes.size())
158 throw(std::runtime_error(
"CLID and hash sets not equal in size"));
160 auto it = classIDs.find(primaryClassID);
163 if (it == classIDs.end())
164 throw(std::range_error(
"Primary class ID not in list of class IDs"));
166 return hashes[std::distance(classIDs.begin(), it)];
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x,...)
#define ATH_MSG_VERBOSE(x,...)
uint32_t CLID
The Class ID type.
virtual void lock()=0
Interface to allow an object to lock itself when made const in SG.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
::StatusCode StatusCode
StatusCode definition for legacy code.
EventFormat_v1 EventFormat
Definition of the current event format version.