46 const std::string&
name()
const override;
78 template <
typename IFace = IService>
88 using PropertyHolderImpl::declareProperty;
92 const std::string& doc =
"none" ) {
114 throw GaudiException{ std::string{
"Cannot create handle for " } + ( handle.
isPublic() ?
"public" :
"private" ) +
115 " tool " + toolTypeAndName,
127 const std::string& doc =
"none" ) {
137 const std::vector<IAlgTool*>& tools()
const;
140 std::vector<IAlgTool*>& tools();
144 void initToolHandles()
const;
163 void sysInitialize_imp();
193 "retrieve all AlgTools during initialize" };
195 "check data dependencies of AlgTools (error if any found)" };
PropertyBase base class allowing PropertyBase* collections to be "homogeneous".
Implementation of property with value of concrete type.
Define general base for Gaudi exception.
The IMessage is the interface implemented by the message service.
General service interface definition.
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
The ISvcManager is the interface implemented by the Service Factory in the Application Manager to sup...
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Details::PropertyBase &prop)
Declare a property.
Base class for all services.
Gaudi::StateMachine::State FSMState() const override
SmartIF< ISvcLocator > & serviceLocator() const override
Retrieve pointer to service locator.
Gaudi::Property< bool > m_auditorStart
Gaudi::StateMachine::State targetFSMState() const override
Gaudi::Property< bool > m_auditorFinalize
StatusCode declareTool(ToolHandle< T > &handle, bool createIf=true)
std::vector< GaudiHandleArrayBase * > m_toolHandleArrays
SmartIF< ISvcManager > m_svcManager
StatusCode configure() override
std::once_flag m_initFlag
Gaudi::Property< int > m_outputLevel
flag indicating whether ToolHandle tools have been added to m_tools
Gaudi::Property< bool > m_auditorStop
const std::string & name() const override
Retrieve name of the service.
Gaudi::Details::PropertyBase * declareProperty(const std::string &name, ToolHandleArray< T > &hndlArr, const std::string &doc="none")
Gaudi::StateMachine::State m_targetState
Service state.
StatusCode terminate() override
int outputLevel() const
get the Service's output level
std::vector< IAlgTool * > m_tools
Gaudi::Property< bool > m_auditorRestart
std::vector< BaseToolHandle * > m_toolHandles
Gaudi::Details::PropertyBase * declareProperty(const std::string &name, ToolHandle< T > &hndl, const std::string &doc="none")
Gaudi::StateMachine::State m_state
Service state.
Gaudi::Property< bool > m_checkToolDeps
SmartIF< IAuditorSvc > m_pAuditorSvc
Auditor Service.
void setServiceManager(ISvcManager *ism) override
Gaudi::Property< bool > m_autoRetrieveTools
SmartIF< ISvcLocator > m_svcLocator
Service Locator reference.
SmartIF< IFace > service(const std::string &name, bool createIf=true) const
Gaudi::Property< bool > m_auditorInitialize
void addToolsArray(ToolHandleArray< T > &hndlArr)
Gaudi::Property< bool > m_auditorReinitialize
Gaudi::PluginService::Factory< IService *(const std::string &, ISvcLocator *)> Factory
std::string m_name
Service Name.
Service(std::string name, ISvcLocator *svcloc)
Standard Constructor.
StatusCode declareTool(ToolHandle< T > &handle, const std::string &toolTypeAndName, bool createIf=true)
Declare used tool.
friend class ServiceManager
an helper to share the implementation of service() among the various kernel base classes
SmartIF< IService > service(std::string_view name, const bool quiet=false, const bool createIf=true) const
The ServiceManager class is in charge of the creation of concrete instances of Services.
Small smart pointer class with automatic reference counting for IInterface.
This class is used for returning status codes from appropriate routines.
constexpr static const auto SUCCESS
State
Allowed states for classes implementing the state machine (ApplicationMgr, Algorithm,...