Go to the documentation of this file.
   29   template <
typename FUN>
 
   54   StatusCode sc = base_class::queryInterface( riid, ppvi );
 
   60     return Status::NO_INTERFACE; 
 
  118     : m_type( 
std::move( 
type ) ), m_name( 
std::move( 
name ) ), m_parent( parent ) {
 
  163   return attempt( *
this, 
"sysInitialize", [&]() {
 
  169     if ( !sc ) 
return sc;
 
  177       if ( !
h->objKey().empty() ) 
out.emplace( 
h->fullKey() );
 
  180       if ( !
h->objKey().empty() && 
out.find( 
h->fullKey() ) != 
out.end() ) {
 
  181         error() << 
"Explicit circular data dependency found for id " << 
h->fullKey() << 
endmsg;
 
  186     if ( !sc ) 
return sc;
 
  211   return attempt( *
this, 
"sysStart", [&]() {
 
  233   return attempt( *
this, 
"sysStop", [&]() {
 
  255   return attempt( *
this, 
"sysFinalize", [&]() {
 
  279     error() << 
"sysReinitialize(): cannot reinitialize tool not initialized" << 
endmsg;
 
  283   return attempt( *
this, 
"SysReinitialize()", [&]() {
 
  320     error() << 
"sysRestart(): cannot reinitialize tool not started" << 
endmsg;
 
  324   return attempt( *
this, 
"sysRestart", [&]() {
 
  340     error() << 
"restart(): cannot be stopped" << 
endmsg;
 
  345     error() << 
"restart(): cannot be started" << 
endmsg;
 
  360     if ( !th->isEnabled() ) {
 
  362         debug() << 
"ToolHandle " << th->typeAndName() << 
" not used" << 
endmsg;
 
  366       auto sc = th->retrieve();
 
  367       if ( sc.isFailure() ) {
 
  371     auto* 
tool = th->get();
 
  373       debug() << 
"Adding " << ( th->isPublic() ? 
"public" : 
"private" ) << 
" ToolHandle tool " << 
tool->name() << 
" (" 
  380       debug() << 
"Registering all Tools in ToolHandleArray " << thArr->propertyName() << 
endmsg;
 
  382     for ( 
auto toolHandle : thArr->getBaseArray() ) {
 
  388         error() << 
"Error retrieving Tool " << toolHandle->typeAndName() << 
" in ToolHandleArray " 
  389                 << thArr->propertyName() << 
". Not registered" << 
endmsg;
 
  415   return helper.
getService( svcName, createIf, iid, ppSvc );
 
  420                                void** ppSvc )
 const {
 
  
 
SmartIF< IService > service(std::string_view name, const bool quiet=false, const bool createIf=true) const
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
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
StatusCode getService(std::string_view name, bool createIf, const InterfaceID &iid, void **ppSvc) const
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
TYPE * get() const
Get interface pointer.
constexpr static const auto FAILURE
StatusCode createService(std::string_view name, const InterfaceID &iid, void **ppSvc) const
virtual void visit(const IDataHandleHolder *)=0