Go to the documentation of this file.
26 template <
typename FUN>
34 }
catch (
const std::exception& Exception ) {
48 StatusCode sc = base_class::queryInterface( riid, ppvi );
51 [&](
const std::pair<InterfaceID, void*>& item ) {
return item.first.versionMatch( riid ); } );
54 return Status::NO_INTERFACE;
62 if (
auto output = base_class::i_cast( riid ) ) {
return output; }
65 [&](
const std::pair<InterfaceID, void*>& item ) {
return item.first.versionMatch( riid ); } );
96 : m_type(
std::move(
type ) ), m_name(
std::move(
name ) ), m_parent( parent ) {
126 appMgr->getProperty( &audit ).ignore();
138 return attempt( *
this,
"sysInitialize", [&]() {
144 if ( !sc )
return sc;
152 if ( !
h->objKey().empty() )
out.emplace(
h->fullKey() );
155 if ( !
h->objKey().empty() &&
out.find(
h->fullKey() ) !=
out.end() ) {
156 error() <<
"Explicit circular data dependency found for id " <<
h->fullKey() <<
endmsg;
161 if ( !sc )
return sc;
181 return attempt( *
this,
"sysStart", [&]() {
198 return attempt( *
this,
"sysStop", [&]() {
215 return attempt( *
this,
"sysFinalize", [&]() {
234 error() <<
"sysReinitialize(): cannot reinitialize tool not initialized" <<
endmsg;
238 return attempt( *
this,
"SysReinitialize()", [&]() {
270 error() <<
"sysRestart(): cannot reinitialize tool not started" <<
endmsg;
274 return attempt( *
this,
"sysRestart", [&]() {
287 error() <<
"restart(): cannot be stopped" <<
endmsg;
292 error() <<
"restart(): cannot be started" <<
endmsg;
304 if ( !th->isEnabled() ) {
306 debug() <<
"ToolHandle " << th->typeAndName() <<
" not used" <<
endmsg;
310 auto sc = th->retrieve();
311 if ( sc.isFailure() ) {
315 auto*
tool = th->get();
317 debug() <<
"Adding " << ( th->isPublic() ?
"public" :
"private" ) <<
" ToolHandle tool " <<
tool->name() <<
" ("
324 debug() <<
"Registering all Tools in ToolHandleArray " << thArr->propertyName() <<
endmsg;
326 for (
auto toolHandle : thArr->getBaseArray() ) {
332 error() <<
"Error retrieving Tool " << toolHandle->typeAndName() <<
" in ToolHandleArray "
333 << thArr->propertyName() <<
". Not registered" <<
endmsg;
SmartIF< IService > service(std::string_view name, const bool quiet=false, const bool createIf=true) const
static const std::string Initialize
static const std::string ReInitialize
std::vector< Gaudi::DataHandle * > outputHandles() const override
bool assign(const Details::PropertyBase &source) override
get the value from another property
GAUDI_API const std::string typeinfoName(const std::type_info &)
Get platform independent information about the class type.
MSG::Level msgLevel() const
get the cached level (originally extracted from the embedded MsgStream)
DataObjIDColl m_outputDataObjs
static const std::string Start
AttribStringParser::Iterator begin(const AttribStringParser &parser)
void initDataHandleHolder()
initializes all handles - called by the sysInitialize method of any descendant of this
Base class from which all concrete algorithm classes should be derived.
DataObjIDColl m_inputDataObjs
an helper to share the implementation of service() among the various kernel base classes
std::unordered_set< DataObjID, DataObjID_Hasher > DataObjIDColl
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
std::vector< Gaudi::DataHandle * > inputHandles() const override
State GAUDI_API ChangeState(const Transition transition, const State state)
Function to get the new state according to the required transition, checking if the transition is all...
constexpr static const auto SUCCESS
The interface implemented by the IAuditorSvc base class.
TYPE * get() const
Get interface pointer.
static const std::string Stop
static const std::string Finalize
static const std::string ReStart
constexpr static const auto FAILURE
Base class from which all concrete auditor classes should be derived.
virtual void visit(const IDataHandleHolder *)=0