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


Public Member Functions | |
| StatusCode | queryInterface (const InterfaceID &riid, void **ppvUnknown) override |
| Query for a given interface. More... | |
| const std::string & | name () const override |
| Retrieve full identifying name of the concrete tool object. More... | |
| const std::string & | type () const override |
| Retrieve type (concrete class) of the sub-algtool. More... | |
| const IInterface * | parent () const override |
| Retrieve parent of the sub-algtool. More... | |
| 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. More... | |
| StatusCode | sysStart () override |
| Start AlgTool. More... | |
| StatusCode | sysStop () override |
| Stop AlgTool. More... | |
| StatusCode | sysFinalize () override |
| Finalize AlgTool. More... | |
| StatusCode | sysReinitialize () override |
| Initialize AlgTool. More... | |
| StatusCode | sysRestart () override |
| Start AlgTool. More... | |
| AlgTool (const std::string &type, const std::string &name, const IInterface *parent) | |
| Standard Constructor. More... | |
| SmartIF< ISvcLocator > & | serviceLocator () const override |
| Retrieve pointer to service locator. More... | |
| ISvcLocator * | svcLoc () const |
| shortcut for the method service locator More... | |
| IDataProviderSvc * | evtSvc () const |
| accessor to event service service More... | |
| SmartIF< IDataProviderSvc > & | eventSvc () const final override |
| Added for interface compatibility with Algorithm. More... | |
| IToolSvc * | toolSvc () const |
| The standard ToolSvc service, Return a pointer to the service if present. More... | |
| StatusCode | setProperties () |
| Method for setting declared properties to the values specified in the jobOptions via the job option service. More... | |
| template<class T > | |
| StatusCode | service (const std::string &name, T *&svc, bool createIf=true) const |
| Access a service by name, creating it if it doesn't already exist. More... | |
| template<class T > | |
| StatusCode | service (const std::string &type, const std::string &name, T *&svc) const |
| Access a service by name, type creating it if it doesn't already exist. More... | |
| SmartIF< IService > | service (const std::string &name, const bool createIf=true, const bool quiet=false) const |
| Return a pointer to the service identified by name (or "type/name") More... | |
| template<typename T > | |
| SmartIF< T > | service (const std::string &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, 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 | registerTool (IAlgTool *tool) const |
| void | deregisterTool (IAlgTool *tool) const |
| const std::vector< IAlgTool * > & | tools () const |
| IAuditorSvc * | auditorSvc () const |
| Access the auditor service. More... | |
| IMonitorSvc * | monitorSvc () const |
| Access the monitor service. More... | |
| template<class T > | |
| void | declareInfo (const std::string &name, const T &var, const std::string &desc) const |
| Declare monitoring information. More... | |
| 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) More... | |
| ~AlgTool () override | |
Public Member Functions inherited from DataHandleHolderBase< PropertyHolder< CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > > > | |
| DataHandleHolderBase (Args &&...args) | |
| NOTE: Cannot use "using Super::Super;" due to a GCC 6 bug. More... | |
| void | registerDataHandle (Gaudi::v2::DataHandle &handle) final override |
| Register a data handle of this algorithm/tool. More... | |
| void | addDataDependency (const DataObjID &key, AccessMode access) final override |
| Add a data dependency, even after initialization. More... | |
| const DataObjIDColl & | dataDependencies (AccessMode access) const final override |
| Tell which whiteboard keys the algorithm will be reading or writing. More... | |
| void | declare (Gaudi::v1::DataHandle &handle) override |
| Declare ownership of a legacy DataHandle. More... | |
| void | renounce (Gaudi::v1::DataHandle &handle) override |
| Discard ownership of a legacy DataHandle. More... | |
| const DataObjIDColl * | allDataDependencies () const final override |
Public Member Functions inherited from extends< PropertyHolder< CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > >, IDataHandleHolder > | |
| void * | i_cast (const InterfaceID &tid) const override |
| Implementation of IInterface::i_cast. More... | |
| StatusCode | queryInterface (const InterfaceID &ti, void **pp) override |
| Implementation of IInterface::queryInterface. More... | |
| std::vector< std::string > | getInterfaceNames () const override |
| Implementation of IInterface::getInterfaceNames. More... | |
Public Member Functions inherited from PropertyHolder< CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > > | |
| PropertyHolder ()=default | |
| Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Details::PropertyBase &prop) |
| Declare a property. More... | |
| 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. More... | |
| 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. More... | |
| Gaudi::Details::PropertyBase * | declareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="") |
| Declare a remote property. More... | |
| StatusCode | setProperty (const Gaudi::Details::PropertyBase &p) override |
| set the property form another property More... | |
| StatusCode | setProperty (const std::string &s) override |
| set the property from the formatted string More... | |
| StatusCode | setProperty (const std::string &n, const std::string &v) override |
| set the property from name and the value More... | |
| StatusCode | setProperty (const std::string &name, const TYPE &value) |
| set the property form the value More... | |
| StatusCode | getProperty (Gaudi::Details::PropertyBase *p) const override |
| get the property More... | |
| const Gaudi::Details::PropertyBase & | getProperty (const std::string &name) const override |
| get the property by name More... | |
| StatusCode | getProperty (const std::string &n, std::string &v) const override |
| convert the property to the string More... | |
| const std::vector< Gaudi::Details::PropertyBase * > & | getProperties () const override |
| get all properties More... | |
| bool | hasProperty (const std::string &name) const override |
| Return true if we have a property with the given name. More... | |
| 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) More... | |
| bool | msgLevel (MSG::Level lvl) const |
| get the output level from the embedded MsgStream More... | |
| MSG::Level | outputLevel () const |
| Backward compatibility function for getting the output level. More... | |
Public Member Functions inherited from CommonMessagingBase | |
| virtual | ~CommonMessagingBase ()=default |
| Virtual destructor. More... | |
| const SmartIF< IMessageSvc > & | msgSvc () const |
| The standard message service. More... | |
| MsgStream & | msgStream () const |
| Return an uninitialized MsgStream. More... | |
| MsgStream & | msgStream (const MSG::Level level) const |
| Predefined configurable message stream for the efficient printouts. More... | |
| MsgStream & | always () const |
| shortcut for the method msgStream(MSG::ALWAYS) More... | |
| MsgStream & | fatal () const |
| shortcut for the method msgStream(MSG::FATAL) More... | |
| MsgStream & | err () const |
| shortcut for the method msgStream(MSG::ERROR) More... | |
| MsgStream & | error () const |
| shortcut for the method msgStream(MSG::ERROR) More... | |
| MsgStream & | warning () const |
| shortcut for the method msgStream(MSG::WARNING) More... | |
| MsgStream & | info () const |
| shortcut for the method msgStream(MSG::INFO) More... | |
| MsgStream & | debug () const |
| shortcut for the method msgStream(MSG::DEBUG) More... | |
| MsgStream & | verbose () const |
| shortcut for the method msgStream(MSG::VERBOSE) More... | |
| MsgStream & | msg () const |
| shortcut for the method msgStream(MSG::INFO) More... | |
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 | updateDataDependencies (const DataObjIDMapping &keyMap) |
| Update the key of each registered data dependency, using a user-defined mapping from the old to the new key. More... | |
| void | collectExplicitDataDependencies () |
| Collect all explicit data dependencies in a single place. More... | |
| StatusCode | handleCircularDataDependencies (CircularDepHandler &&circularDepHandler) |
| Look for circular dependencies and let a user-specified handler deal with each of them. More... | |
| void | collectImplicitDataDependencies (const IDataHandleHolder *child) |
| Add the dependencies of another DataHandleHolder to our dependency list. More... | |
| const DataObjIDColl & | ignoredDataDependencies (AccessMode access) const |
| Tell which data dependencies have been ignored due to an empty key. More... | |
| void | initializeDataHandleHolder () |
| Initialize the DataHandles. More... | |
Protected Member Functions inherited from PropertyHolder< CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > > | |
| Gaudi::Details::PropertyBase * | property (const std::string &name) const |
Protected Member Functions inherited from CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > | |
| MSG::Level | setUpMessaging () const |
| Set up local caches. More... | |
| MSG::Level | resetMessaging () |
| Reinitialize internal states. More... | |
| void | updateMsgStreamOutputLevel (int level) |
| Update the output level of the cached MsgStream. More... | |
Protected Attributes | |
| DataObjIDMapping | m_updateDependencies |
| Hook for for derived classes to alter the DataObjID of dependencies. More... | |
Private Types | |
| typedef std::list< std::pair< InterfaceID, void * > > | InterfaceList |
Private Member Functions | |
| void | initToolHandles () const |
| void | addUninitializedTool (AlgTool *tool) |
| void | propagateUninitializedTools (AlgTool *tool) |
| StatusCode | service_i (const std::string &algName, bool createIf, const InterfaceID &iid, void **ppSvc) const |
| implementation of service method More... | |
| StatusCode | service_i (const std::string &svcType, const std::string &svcName, const InterfaceID &iid, void **ppS) const |
Additional Inherited Members | |
Protected Types inherited from DataHandleHolderBase< PropertyHolder< CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > > > | |
| enum | CircularDepAction |
| A circular dependency handling action. More... | |
| using | DataObjIDMapping = std::function< boost::optional< DataObjID >(const DataObjID &)> |
| DataObjID mapping function, with optimized identity mapping case. More... | |
| using | CircularDepHandler = std::function< CircularDepAction(const DataObjID &)> |
| A circular dependency handler, which can take any user-specified step (e.g. More... | |
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 | ( | const std::string & | type, |
| const 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 126 of file AlgTool.cpp.
|
override |
Definition at line 399 of file AlgTool.cpp.
|
inline |
Definition at line 204 of file AlgTool.h.
|
private |
Definition at line 478 of file AlgTool.cpp.
| IAuditorSvc * AlgTool::auditorSvc | ( | ) | const |
Access the auditor service.
Definition at line 529 of file AlgTool.cpp.
|
inlineoverride |
|
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 |
Definition at line 272 of file AlgTool.h.
|
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 285 of file AlgTool.h.
|
inlineprotected |
|
inline |
Definition at line 164 of file AlgTool.h.
|
inline |
Definition at line 196 of file AlgTool.h.
|
inline |
Definition at line 172 of file AlgTool.h.
|
inline |
Definition at line 178 of file AlgTool.h.
|
inline |
Definition at line 216 of file AlgTool.h.
|
finaloverride |
Added for interface compatibility with Algorithm.
Definition at line 91 of file AlgTool.cpp.
|
inline |
accessor to event service service
Definition at line 113 of file AlgTool.h.
|
override |
Definition at line 311 of file AlgTool.cpp.
|
inlineoverride |
|
override |
Definition at line 241 of file AlgTool.cpp.
|
private |
Definition at line 407 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 259 of file AlgTool.h.
|
override |
Retrieve full identifying name of the concrete tool object.
Definition at line 61 of file AlgTool.cpp.
|
override |
|
private |
Definition at line 485 of file AlgTool.cpp.
|
override |
Query for a given interface.
Definition at line 42 of file AlgTool.cpp.
|
inline |
Definition at line 210 of file AlgTool.h.
|
override |
Definition at line 338 of file AlgTool.cpp.
|
override |
Definition at line 381 of file AlgTool.cpp.
|
inline |
Access a service by name, creating it if it doesn't already exist.
Definition at line 131 of file AlgTool.h.
|
inline |
Access a service by name, type creating it if it doesn't already exist.
Definition at line 139 of file AlgTool.h.
| SmartIF< IService > AlgTool::service | ( | const std::string & | 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 522 of file AlgTool.cpp.
|
inline |
Definition at line 148 of file AlgTool.h.
|
private |
implementation of service method
Definition at line 508 of file AlgTool.cpp.
|
private |
Definition at line 515 of file AlgTool.cpp.
|
override |
Retrieve pointer to service locator.
Definition at line 82 of file AlgTool.cpp.
| StatusCode AlgTool::setProperties | ( | ) |
Method for setting declared properties to the values specified in the jobOptions via the job option service.
This method is called by the ToolSvc after creating the concrete tool, before passing it to the requesting parent and does not need to be called explicitly.
Definition at line 115 of file AlgTool.cpp.
|
override |
Definition at line 266 of file AlgTool.cpp.
|
override |
Definition at line 289 of file AlgTool.cpp.
|
inline |
shortcut for the method service locator
Definition at line 108 of file AlgTool.h.
|
override |
Finalize AlgTool.
Definition at line 297 of file AlgTool.cpp.
|
override |
Initialize AlgTool.
Definition at line 178 of file AlgTool.cpp.
|
override |
Initialize AlgTool.
Definition at line 319 of file AlgTool.cpp.
|
override |
Start AlgTool.
Definition at line 361 of file AlgTool.cpp.
|
override |
Start AlgTool.
Definition at line 251 of file AlgTool.cpp.
|
override |
Stop AlgTool.
Definition at line 274 of file AlgTool.cpp.
|
inlineoverride |
Definition at line 76 of file AlgTool.h.
|
inlineoverride |
| const std::vector< IAlgTool * > & AlgTool::tools | ( | ) | const |
Definition at line 492 of file AlgTool.cpp.
|
protected |
Definition at line 499 of file AlgTool.cpp.
| IToolSvc * AlgTool::toolSvc | ( | ) | const |
The standard ToolSvc service, Return a pointer to the service if present.
Definition at line 102 of file AlgTool.cpp.
|
override |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
mutableprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
mutableprivate |
|
mutableprivate |
|
private |
|
mutableprivate |
|
private |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
private |
|
private |
|
private |
flag indicating whether ToolHandle tools have been added to m_tools
|
protected |