![]() |
The Gaudi Framework
master (b9786168)
|
Base class from which all the concrete tool classes should be derived. More...
#include <GaudiKernel/AlgTool.h>


Public Types | |
| using | Factory = Gaudi::PluginService::Factory<IAlgTool*( const std::string&, const std::string&, const IInterface* )> |
Public Types inherited from extends< PropertyHolder< CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > >, IDataHandleHolder > | |
| using | base_class |
| Typedef to this class. | |
| using | extend_interfaces_base |
| Typedef to the base of this class. | |
Public Types inherited from PropertyHolder< CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > > | |
| using | PropertyHolderImpl |
| Typedef used to refer to this class from derived classes, as in. | |
Public Types inherited from CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > | |
| using | base_class |
Public Types inherited from extend_interfaces< Interfaces... > | |
| using | ext_iids |
| take union of the ext_iids of all Interfaces... | |
Public Member Functions | |
| void const * | i_cast (const InterfaceID &riid) const override |
| Query for a given interface. | |
| const std::string & | name () const override |
| Retrieve full identifying name of the concrete tool object. | |
| const std::string & | type () const override |
| Retrieve type (concrete class) of the sub-algtool. | |
| const IInterface * | parent () const override |
| Retrieve parent of the sub-algtool. | |
| StatusCode | configure () override |
| StatusCode | initialize () override |
| StatusCode | start () override |
| StatusCode | stop () override |
| StatusCode | finalize () override |
| StatusCode | terminate () override |
| StatusCode | reinitialize () override |
| StatusCode | restart () override |
| Gaudi::StateMachine::State | FSMState () const override |
| Gaudi::StateMachine::State | targetFSMState () const override |
| StatusCode | sysInitialize () override |
| Initialize AlgTool. | |
| StatusCode | sysStart () override |
| Start AlgTool. | |
| StatusCode | sysStop () override |
| Stop AlgTool. | |
| StatusCode | sysFinalize () override |
| Finalize AlgTool. | |
| StatusCode | sysReinitialize () override |
| Initialize AlgTool. | |
| StatusCode | sysRestart () override |
| Start AlgTool. | |
| AlgTool (std::string type, std::string name, const IInterface *parent) | |
| Standard Constructor. | |
| SmartIF< ISvcLocator > & | serviceLocator () const override |
| Retrieve pointer to service locator. | |
| ISvcLocator * | svcLoc () const |
| shortcut for the method service locator | |
| IDataProviderSvc * | evtSvc () const |
| accessor to event service service | |
| IToolSvc * | toolSvc () const |
| The standard ToolSvc service, Return a pointer to the service if present. | |
| SmartIF< IService > | service (std::string_view name, const bool createIf=true, const bool quiet=false) const |
| Return a pointer to the service identified by name (or "type/name") | |
| template<typename T> | |
| SmartIF< T > | service (std::string_view name, const bool createIf=true, const bool quiet=false) const |
| template<class T> | |
| Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, ToolHandle< T > &hndl, const std::string &doc="none") |
| template<class T> | |
| StatusCode | declareTool (ToolHandle< T > &handle, bool createIf=true) |
| template<class T> | |
| StatusCode | declareTool (ToolHandle< T > &handle, const std::string &toolTypeAndName, bool createIf=true) |
| template<class T> | |
| Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, ToolHandleArray< T > &hndlArr, const std::string &doc="none") |
| template<class T> | |
| void | addToolsArray (ToolHandleArray< T > &hndlArr) |
| void | acceptDHVisitor (IDataHandleVisitor *) const override |
| void | registerTool (IAlgTool *tool) const |
| void | deregisterTool (IAlgTool *tool) const |
| const std::vector< IAlgTool * > & | tools () const |
| IAuditorSvc * | auditorSvc () const |
| Access the auditor service. | |
| IMonitorSvc * | monitorSvc () const |
| Access the monitor service. | |
| template<class T> | |
| void | declareInfo (const std::string &name, const T &var, const std::string &desc) const |
| Declare monitoring information. | |
| void | declareInfo (const std::string &name, const std::string &format, const void *var, int size, const std::string &desc) const |
| Declare monitoring information (special case) | |
| ~AlgTool () override | |
Public Member Functions inherited from DataHandleHolderBase< PropertyHolder< CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > > > | |
| std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| virtual const DataObjIDColl & | extraInputDeps () const override |
| virtual const DataObjIDColl & | extraOutputDeps () const override |
| void | declare (Gaudi::DataHandle &handle) override |
| void | renounce (Gaudi::DataHandle &handle) override |
| bool | renounceInput (const DataObjID &id) override |
| const DataObjIDColl & | inputDataObjs () const override |
| const DataObjIDColl & | outputDataObjs () const override |
| void | addDependency (const DataObjID &id, const Gaudi::DataHandle::Mode &mode) override |
Public Member Functions inherited from extends< PropertyHolder< CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > >, IDataHandleHolder > | |
| void const * | i_cast (const InterfaceID &tid) const override |
| Implementation of IInterface::i_cast. | |
| StatusCode | queryInterface (const InterfaceID &ti, void **pp) override |
| Implementation of IInterface::queryInterface. | |
| std::vector< std::string > | getInterfaceNames () const override |
| Implementation of IInterface::getInterfaceNames. | |
Public Member Functions inherited from PropertyHolder< CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > > | |
| StatusCode | setProperty (const Gaudi::Details::PropertyBase &p) |
| Set the property from a property. | |
| StatusCode | setProperty (const std::string &name, const char *v) |
| Special case for string literals. | |
| StatusCode | setProperty (const std::string &name, const std::string &v) |
| Special case for std::string. | |
| StatusCode | setProperty (const std::string &name, const TYPE &value) |
| set the property form the value | |
| PropertyHolder ()=default | |
| Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Details::PropertyBase &prop) |
| Declare a property. | |
| Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, TYPE &value, const std::string &doc="none") |
| Helper to wrap a regular data member and use it as a regular property. | |
| Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, Gaudi::Property< TYPE, VERIFIER, HANDLERS > &prop, const std::string &doc="none") |
| Declare a PropertyBase instance setting name and documentation. | |
| Gaudi::Details::PropertyBase * | declareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="") |
| Declare a remote property. | |
| StatusCode | setProperty (const std::string &name, const Gaudi::Details::PropertyBase &p) override |
| set the property from another property with a different name | |
| StatusCode | setProperty (const std::string &s) override |
| set the property from the formatted string | |
| StatusCode | setProperty (const Gaudi::Details::PropertyBase &p) |
| Set the property from a property. | |
| StatusCode | setProperty (const std::string &name, const char *v) |
| Special case for string literals. | |
| StatusCode | setProperty (const std::string &name, const std::string &v) |
| Special case for std::string. | |
| StatusCode | setProperty (const std::string &name, const TYPE &value) |
| set the property form the value | |
| StatusCode | setPropertyRepr (const std::string &n, const std::string &r) override |
| set the property from name and value string representation | |
| StatusCode | getProperty (Gaudi::Details::PropertyBase *p) const override |
| get the property | |
| const Gaudi::Details::PropertyBase & | getProperty (std::string_view name) const override |
| get the property by name | |
| StatusCode | getProperty (std::string_view n, std::string &v) const override |
| convert the property to the string | |
| const std::vector< Gaudi::Details::PropertyBase * > & | getProperties () const override |
| get all properties | |
| bool | hasProperty (std::string_view name) const override |
| Return true if we have a property with the given name. | |
| Gaudi::Details::PropertyBase * | property (std::string_view name) const |
| \fixme property and bindPropertiesTo should be protected | |
| void | bindPropertiesTo (Gaudi::Interfaces::IOptionsSvc &optsSvc) |
| PropertyHolder (const PropertyHolder &)=delete | |
| PropertyHolder & | operator= (const PropertyHolder &)=delete |
Public Member Functions inherited from CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > | |
| MSG::Level | msgLevel () const |
| get the cached level (originally extracted from the embedded MsgStream) | |
| bool | msgLevel (MSG::Level lvl) const |
| get the output level from the embedded MsgStream | |
Public Member Functions inherited from CommonMessagingBase | |
| virtual | ~CommonMessagingBase ()=default |
| Virtual destructor. | |
| const SmartIF< IMessageSvc > & | msgSvc () const |
| The standard message service. | |
| MsgStream & | msgStream () const |
| Return an uninitialized MsgStream. | |
| MsgStream & | msgStream (const MSG::Level level) const |
| Predefined configurable message stream for the efficient printouts. | |
| MsgStream & | always () const |
| shortcut for the method msgStream(MSG::ALWAYS) | |
| MsgStream & | fatal () const |
| shortcut for the method msgStream(MSG::FATAL) | |
| MsgStream & | err () const |
| shortcut for the method msgStream(MSG::ERROR) | |
| MsgStream & | error () const |
| shortcut for the method msgStream(MSG::ERROR) | |
| MsgStream & | warning () const |
| shortcut for the method msgStream(MSG::WARNING) | |
| MsgStream & | info () const |
| shortcut for the method msgStream(MSG::INFO) | |
| MsgStream & | debug () const |
| shortcut for the method msgStream(MSG::DEBUG) | |
| MsgStream & | verbose () const |
| shortcut for the method msgStream(MSG::VERBOSE) | |
| MsgStream & | msg () const |
| shortcut for the method msgStream(MSG::INFO) | |
Protected Member Functions | |
| template<typename I> | |
| void | declareInterface (I *i) |
| std::vector< IAlgTool * > & | tools () |
Protected Member Functions inherited from DataHandleHolderBase< PropertyHolder< CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > > > | |
| void | initDataHandleHolder () |
| initializes all handles - called by the sysInitialize method of any descendant of this | |
Protected Member Functions inherited from CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > | |
| MSG::Level | setUpMessaging () const |
| Set up local caches. | |
| MSG::Level | resetMessaging () |
| Reinitialize internal states. | |
| void | updateMsgStreamOutputLevel (int level) |
| Update the output level of the cached MsgStream. | |
Protected Attributes | |
| std::unique_ptr< IDataHandleVisitor > | m_updateDataHandles |
| Hook for for derived classes to provide a custom visitor for data handles. | |
Protected Attributes inherited from DataHandleHolderBase< PropertyHolder< CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > > > | |
| DataObjIDColl | m_inputDataObjs |
| DataObjIDColl | m_outputDataObjs |
Private Types | |
| typedef std::list< std::pair< InterfaceID, void * > > | InterfaceList |
Private Member Functions | |
| void | initToolHandles () const |
Private Attributes | |
| friend | ToolSvc |
| std::string | m_type |
| AlgTool type (concrete class name) | |
| const std::string | m_name |
| AlgTool full name. | |
| const IInterface * | m_parent = nullptr |
| AlgTool parent. | |
| SmartIF< ISvcLocator > | m_svcLocator |
| Pointer to Service Locator service. | |
| SmartIF< IDataProviderSvc > | m_evtSvc |
| Event data service. | |
| SmartIF< IToolSvc > | m_ptoolSvc |
| Tool service. | |
| SmartIF< IMonitorSvc > | m_pMonitorSvc |
| Online Monitoring Service. | |
| SmartIF< IAuditorSvc > | m_pAuditorSvc |
| Auditor Service. | |
| InterfaceList | m_interfaceList |
| Interface list. | |
| Gaudi::Property< int > | m_outputLevel |
| Gaudi::Property< std::string > | m_monitorSvcName |
| Gaudi::Property< bool > | m_auditorInitialize { this, "AuditInitialize", false, "trigger auditor on initialize()" } |
| Gaudi::Property< bool > | m_auditorStart { this, "AuditStart", false, "trigger auditor on start()" } |
| Gaudi::Property< bool > | m_auditorStop { this, "AuditStop", false, "trigger auditor on stop()" } |
| Gaudi::Property< bool > | m_auditorFinalize { this, "AuditFinalize", false, "trigger auditor on finalize()" } |
| Gaudi::Property< bool > | m_auditorReinitialize { this, "AuditReinitialize", false, "trigger auditor on reinitialize()" } |
| Gaudi::Property< bool > | m_auditorRestart { this, "AuditRestart", false, "trigger auditor on restart()" } |
| std::vector< IAlgTool * > | m_tools |
| std::vector< BaseToolHandle * > | m_toolHandles |
| std::vector< GaudiHandleArrayBase * > | m_toolHandleArrays |
| bool | m_toolHandlesInit = false |
| Gaudi::StateMachine::State | m_state = Gaudi::StateMachine::CONFIGURED |
| flag indicating whether ToolHandle tools have been added to m_tools | |
| Gaudi::StateMachine::State | m_targetState = Gaudi::StateMachine::CONFIGURED |
| state of the Tool | |
Friends | |
| class | ToolVisitor |
Base class from which all the concrete tool classes should be derived.
Specific methods for doing something useful should be implemented in the concrete tools. Sub-types of this class could implement an additional interface for behavior common to sets of concrete tools (for example vertexers).
| using AlgTool::Factory = Gaudi::PluginService::Factory<IAlgTool*( const std::string&, const std::string&, const IInterface* )> |
|
private |
| AlgTool::AlgTool | ( | std::string | type, |
| std::string | name, | ||
| const IInterface * | parent ) |
Standard Constructor.
| type | the concrete class of the sub-algtool |
| name | the full name of the concrete sub-algtool |
| parent | the parent of the concrete sub-algtool |
Definition at line 80 of file AlgTool.cpp.
|
override |
Definition at line 283 of file AlgTool.cpp.
|
override |
Definition at line 353 of file AlgTool.cpp.
|
inline |
Definition at line 179 of file AlgTool.h.
| IAuditorSvc * AlgTool::auditorSvc | ( | ) | const |
Access the auditor service.
Definition at line 345 of file AlgTool.cpp.
|
inlineoverride |
|
inline |
Declare monitoring information (special case)
| name | Monitoring information name known to the external system |
| format | Format information |
| var | Monitoring Listener address |
| size | Monitoring Listener address size |
| desc | Textual description of the information being monitored |
Definition at line 251 of file AlgTool.h.
|
inline |
Declare monitoring information.
| name | Monitoring information name known to the external system |
| var | Monitoring Listener address (the item to monitor...) |
| desc | Textual description of the information being monitored |
|
inlineprotected |
|
inline |
Definition at line 144 of file AlgTool.h.
|
inline |
|
inline |
|
inline |
Definition at line 156 of file AlgTool.h.
|
inline |
Definition at line 192 of file AlgTool.h.
| IDataProviderSvc * AlgTool::evtSvc | ( | ) | const |
accessor to event service service
Definition at line 65 of file AlgTool.cpp.
|
override |
Definition at line 210 of file AlgTool.cpp.
|
inlineoverride |
Definition at line 83 of file AlgTool.h.
|
override |
Query for a given interface.
Definition at line 46 of file AlgTool.cpp.
|
override |
Definition at line 158 of file AlgTool.cpp.
|
private |
Definition at line 287 of file AlgTool.cpp.
|
inline |
Access the monitor service.
| NULL | No monitor service is present |
| non-NULL | A monitor service is present and available to be used |
Definition at line 227 of file AlgTool.h.
|
override |
Retrieve full identifying name of the concrete tool object.
Definition at line 57 of file AlgTool.cpp.
|
override |
|
inline |
|
override |
Definition at line 231 of file AlgTool.cpp.
|
override |
Definition at line 268 of file AlgTool.cpp.
| SmartIF< IService > AlgTool::service | ( | std::string_view | name, |
| const bool | createIf = true, | ||
| const bool | quiet = false ) const |
Return a pointer to the service identified by name (or "type/name")
Definition at line 340 of file AlgTool.cpp.
|
inline |
|
override |
|
override |
Definition at line 177 of file AlgTool.cpp.
|
override |
Definition at line 194 of file AlgTool.cpp.
|
inline |
|
override |
Finalize AlgTool.
Definition at line 199 of file AlgTool.cpp.
|
override |
Initialize AlgTool.
Definition at line 122 of file AlgTool.cpp.
|
override |
Initialize AlgTool.
Definition at line 215 of file AlgTool.cpp.
|
override |
Start AlgTool.
Definition at line 251 of file AlgTool.cpp.
|
override |
Start AlgTool.
Definition at line 165 of file AlgTool.cpp.
|
override |
Stop AlgTool.
Definition at line 182 of file AlgTool.cpp.
|
inlineoverride |
|
inlineoverride |
|
protected |
Definition at line 334 of file AlgTool.cpp.
| const std::vector< IAlgTool * > & AlgTool::tools | ( | ) | const |
Definition at line 328 of file AlgTool.cpp.
| IToolSvc * AlgTool::toolSvc | ( | ) | const |
The standard ToolSvc service, Return a pointer to the service if present.
Definition at line 72 of file AlgTool.cpp.
|
override |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
mutableprivate |
|
private |
|
private |
|
private |
|
private |
Definition at line 277 of file AlgTool.h.
|
private |
|
mutableprivate |
|
mutableprivate |
|
private |
flag indicating whether ToolHandle tools have been added to m_tools
state of the Tool
|
mutableprivate |
|
private |
|
mutableprivate |
|
mutableprivate |
|
private |
|
protected |