Go to the documentation of this file.
46 const std::string&
name()
const override;
78 template <
typename IFace = IService>
92 const std::string& doc =
"none" ) {
93 this->declareTool( hndl, hndl.
typeAndName() ).ignore();
99 return this->declareTool( handle, handle.
typeAndName(), createIf );
114 throw GaudiException{ std::string{
"Cannot create handle for " } + ( handle.
isPublic() ?
"public" :
"private" ) +
115 " tool " + toolTypeAndName,
119 m_toolHandles.push_back( &handle );
127 const std::string& doc =
"none" ) {
128 addToolsArray( hndlArr );
134 m_toolHandleArrays.push_back( &hndlArr );
137 const std::vector<IAlgTool*>& tools()
const;
140 std::vector<IAlgTool*>& tools();
144 void initToolHandles()
const;
163 void sysInitialize_imp();
173 void setServiceManager(
ISvcManager* ism )
override;
179 mutable bool m_toolHandlesInit =
false;
189 Gaudi::Property<bool> m_auditorReinitialize{
this,
"AuditReinitialize",
false,
"trigger auditor on reinitialize()" };
193 "retrieve all AlgTools during initialize" };
195 "check data dependencies of AlgTools (error if any found)" };
SmartIF< IService > service(std::string_view name, const bool quiet=false, const bool createIf=true) const
PropertyBase base class allowing PropertyBase* collections to be "homogeneous".
SmartIF< IAuditorSvc > m_pAuditorSvc
Auditor Service
Gaudi::StateMachine::State targetFSMState() const override
std::vector< GaudiHandleArrayBase * > m_toolHandleArrays
Gaudi::Details::PropertyBase * declareProperty(const std::string &name, ToolHandleArray< T > &hndlArr, const std::string &doc="none")
void addToolsArray(ToolHandleArray< T > &hndlArr)
SmartIF< ISvcLocator > m_svcLocator
Service Locator reference
SmartIF< IFace > service(const std::string &name, bool createIf=true) const
Gaudi::Details::PropertyBase * declareProperty(const std::string &name, ToolHandle< T > &hndl, const std::string &doc="none")
Helper class to implement the IProperty interface.
StatusCode reinitialize() override
Initialization (from INITIALIZED or RUNNING to INITIALIZED, via CONFIGURED).
Gaudi::StateMachine::State FSMState() const override
std::string m_name
Service Name
std::once_flag m_initFlag
State
Allowed states for classes implementing the state machine (ApplicationMgr, Algorithm,...
StatusCode initialize() override
Initialization (from CONFIGURED to INITIALIZED).
std::vector< IAlgTool * > m_tools
StatusCode configure() override
an helper to share the implementation of service() among the various kernel base classes
StatusCode finalize() override
Finalize (from INITIALIZED to CONFIGURED).
StatusCode declareTool(ToolHandle< T > &handle, const std::string &toolTypeAndName, bool createIf=true)
Declare used tool.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Details::PropertyBase &prop)
Declare a property.
constexpr static const auto SUCCESS
int outputLevel() const
get the Service's output level
SmartIF< ISvcManager > m_svcManager
Gaudi::PluginService::Factory< IService *(const std::string &, ISvcLocator *)> Factory
StatusCode restart() override
Initialization (from RUNNING to RUNNING, via INITIALIZED).
SmartIF< ISvcLocator > & serviceLocator() const override
Function needed by CommonMessaging.
StatusCode declareTool(ToolHandle< T > &handle, bool createIf=true)
StatusCode stop() override
Stop (from RUNNING to INITIALIZED).
std::vector< BaseToolHandle * > m_toolHandles
StatusCode terminate() override