AlgTool Class Reference

Base class from which all the concrete tool classes should be derived. More...

#include <GaudiKernel/AlgTool.h>

Inheritance diagram for AlgTool:
Collaboration diagram for AlgTool:

Public Types

typedef Gaudi::PluginService::Factory< IAlgTool *, const std::string &, const std::string &, const IInterface * > Factory
 
typedef Gaudi::PluginService::Factory< IAlgTool *, const std::string &, const std::string &, const IInterface * > Factory
 
- Public Types inherited from implements< Interfaces >
using base_class = implements< Interfaces...>
 Typedef to this class. More...
 
using extend_interfaces_base = extend_interfaces< Interfaces...>
 Typedef to the base of this class. More...
 
using iids = typename extend_interfaces_base::ext_iids
 
using base_class = implements< Interfaces...>
 Typedef to this class. More...
 
using extend_interfaces_base = extend_interfaces< Interfaces...>
 Typedef to the base of this class. More...
 
using iids = typename extend_interfaces_base::ext_iids
 
- Public Types inherited from extend_interfaces< Interfaces...>
using ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids...>::type
 take union of the ext_iids of all Interfaces... More...
 
using ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids...>::type
 take union of the ext_iids of all Interfaces... More...
 

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 IInterfaceparent () 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...
 
StatusCode setProperty (const Property &p) override
 Default implementations for IProperty interface. More...
 
StatusCode setProperty (const std::string &s) override
 
StatusCode setProperty (const std::string &n, const std::string &v) override
 
StatusCode getProperty (Property *p) const override
 
const PropertygetProperty (const std::string &name) const override
 
StatusCode getProperty (const std::string &n, std::string &v) const override
 
const std::vector< Property * > & getProperties () const override
 
bool hasProperty (const std::string &name) const override
 
PropertyMgrgetPropertyMgr ()
 
template<class TYPE >
StatusCode setProperty (const std::string &name, const TYPE &value)
 set the property form the value More...
 
 AlgTool (const std::string &type, const std::string &name, const IInterface *parent)
 Standard Constructor. More...
 
ISvcLocatorserviceLocator () const
 Retrieve pointer to service locator. More...
 
ISvcLocatorsvcLoc () const
 shortcut for the method service locator More...
 
IMessageSvcmsgSvc () const
 Retrieve pointer to message service. More...
 
IToolSvctoolSvc () 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< IServiceservice (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 >
PropertydeclareProperty (const std::string &name, T &property, const std::string &doc="none") const
 Declare the named property. More...
 
PropertydeclareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="") const
 Declare remote named properties. More...
 
IAuditorSvcauditorSvc () const
 Access the auditor service. More...
 
IMonitorSvcmonitorSvc () 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...
 
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 IInterfaceparent () 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...
 
StatusCode setProperty (const Property &p) override
 Default implementations for IProperty interface. More...
 
StatusCode setProperty (const std::string &s) override
 
StatusCode setProperty (const std::string &n, const std::string &v) override
 
StatusCode getProperty (Property *p) const override
 
const PropertygetProperty (const std::string &name) const override
 
StatusCode getProperty (const std::string &n, std::string &v) const override
 
const std::vector< Property * > & getProperties () const override
 
bool hasProperty (const std::string &name) const override
 
PropertyMgrgetPropertyMgr ()
 
template<class TYPE >
StatusCode setProperty (const std::string &name, const TYPE &value)
 set the property form the value More...
 
 AlgTool (const std::string &type, const std::string &name, const IInterface *parent)
 Standard Constructor. More...
 
ISvcLocatorserviceLocator () const
 Retrieve pointer to service locator. More...
 
ISvcLocatorsvcLoc () const
 shortcut for the method service locator More...
 
IMessageSvcmsgSvc () const
 Retrieve pointer to message service. More...
 
IToolSvctoolSvc () 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< IServiceservice (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 >
PropertydeclareProperty (const std::string &name, T &property, const std::string &doc="none") const
 Declare the named property. More...
 
PropertydeclareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="") const
 Declare remote named properties. More...
 
IAuditorSvcauditorSvc () const
 Access the auditor service. More...
 
IMonitorSvcmonitorSvc () 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...
 
- Public Member Functions inherited from implements< Interfaces >
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...
 
 implements ()=default
 Default constructor. More...
 
 implements (const implements &)
 Copy constructor (zero the reference count) More...
 
implementsoperator= (const implements &)
 Assignment operator (do not touch the reference count). More...
 
 ~implements () override=default
 Virtual destructor. More...
 
unsigned long addRef () override
 Reference Interface instance. More...
 
unsigned long release () override
 Release Interface instance. More...
 
unsigned long refCount () const override
 Current reference count. More...
 
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...
 
 implements ()=default
 Default constructor. More...
 
 implements (const implements &)
 Copy constructor (zero the reference count) More...
 
implementsoperator= (const implements &)
 Assignment operator (do not touch the reference count). More...
 
 ~implements () override=default
 Virtual destructor. More...
 
unsigned long addRef () override
 Reference Interface instance. More...
 
unsigned long release () override
 Release Interface instance. More...
 
unsigned long refCount () const override
 Current reference count. More...
 
- Public Member Functions inherited from extend_interfaces< Interfaces...>
 ~extend_interfaces () override=default
 Virtual destructor. More...
 
 ~extend_interfaces () override=default
 Virtual destructor. More...
 

Protected Member Functions

template<typename I >
void declareInterface (I *i)
 
int outputLevel () const
 get tool's output level More...
 
IntegerPropertyoutputLevelProperty ()
 Accessor for the Message level property. More...
 
void initOutputLevel (Property &prop)
 callback for output level property More...
 
 ~AlgTool () override
 
template<typename I >
void declareInterface (I *i)
 
int outputLevel () const
 get tool's output level More...
 
IntegerPropertyoutputLevelProperty ()
 Accessor for the Message level property. More...
 
void initOutputLevel (Property &prop)
 callback for output level property More...
 
 ~AlgTool () override
 

Private Types

typedef std::list< std::pair< InterfaceID, void * > > InterfaceList
 
typedef std::list< std::pair< InterfaceID, void * > > InterfaceList
 

Private Member Functions

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
 
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
 

Private Attributes

IntegerProperty m_outputLevel = MSG::NIL
 AlgTool output level. More...
 
std::string m_type
 AlgTool type (concrete class name) More...
 
const std::string m_name
 AlgTool full name. More...
 
const IInterfacem_parent = nullptr
 AlgTool parent. More...
 
ISvcLocatorm_svcLocator = nullptr
 Pointer to Service Locator service. More...
 
IMessageSvcm_messageSvc = nullptr
 Message service. More...
 
SmartIF< IToolSvcm_ptoolSvc
 Tool service. More...
 
SmartIF< IMonitorSvcm_pMonitorSvc
 Online Monitoring Service. More...
 
std::string m_monitorSvcName
 Name to use for Monitor Service. More...
 
SmartIF< PropertyMgrm_propertyMgr
 Property Manager. More...
 
InterfaceList m_interfaceList
 Interface list. More...
 
std::string m_threadID
 Thread Id for Alg Tool. More...
 
SmartIF< IAuditorSvcm_pAuditorSvc
 Auditor Service. More...
 
BooleanProperty m_auditInit = false
 
bool m_auditorInitialize = false
 flag for auditors in "initialize()" More...
 
bool m_auditorStart = false
 flag for auditors in "start()" More...
 
bool m_auditorStop = false
 flag for auditors in "stop()" More...
 
bool m_auditorFinalize = false
 flag for auditors in "finalize()" More...
 
bool m_auditorReinitialize = false
 flag for auditors in "reinitialize()" More...
 
bool m_auditorRestart = false
 flag for auditors in "restart()" More...
 
Gaudi::StateMachine::State m_state = Gaudi::StateMachine::CONFIGURED
 state of the Tool More...
 
Gaudi::StateMachine::State m_targetState = Gaudi::StateMachine::CONFIGURED
 state of the Tool More...
 

Friends

class ToolSvc
 

Additional Inherited Members

- Protected Attributes inherited from implements< Interfaces >
unsigned long m_refCount = 0
 Reference counter. More...
 

Detailed Description

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).

Author
Gloria Corti
Pere Mato

Definition at line 34 of file AlgTool.h.

Member Typedef Documentation

typedef Gaudi::PluginService::Factory<IAlgTool*, const std::string&, const std::string&, const IInterface*> AlgTool::Factory

Definition at line 41 of file AlgTool.h.

typedef Gaudi::PluginService::Factory<IAlgTool*, const std::string&, const std::string&, const IInterface*> AlgTool::Factory

Definition at line 41 of file AlgTool.h.

typedef std::list<std::pair<InterfaceID,void*> > AlgTool::InterfaceList
private

Definition at line 318 of file AlgTool.h.

typedef std::list<std::pair<InterfaceID,void*> > AlgTool::InterfaceList
private

Definition at line 318 of file AlgTool.h.

Constructor & Destructor Documentation

AlgTool::AlgTool ( const std::string &  type,
const std::string &  name,
const IInterface parent 
)

Standard Constructor.

Parameters
typethe concrete class of the sub-algtool
namethe full name of the concrete sub-algtool
parentthe parent of the concrete sub-algtool

Definition at line 190 of file AlgTool.cpp.

194  : m_type ( type )
195  , m_name ( name )
196  , m_parent ( parent )
197  , m_propertyMgr ( new PropertyMgr() )
198 {
199  addRef(); // Initial count set to 1
200 
201  declareProperty( "MonitorService", m_monitorSvcName = "MonitorSvc" );
202 
203  { // get the "OutputLevel" property from parent
204  const Property* _p = Gaudi::Utils::getProperty ( parent , "OutputLevel") ;
205  if ( _p ) { m_outputLevel.assign( *_p ) ; }
206  declareProperty ( "OutputLevel" , m_outputLevel ) ;
208  }
209 
210  IInterface* _p = const_cast<IInterface*> ( parent ) ;
211 
212  if ( Algorithm* _alg = dynamic_cast<Algorithm*> ( _p ) )
213  {
214  m_svcLocator = _alg -> serviceLocator () ;
215  m_messageSvc = _alg -> msgSvc () ;
216  m_threadID = getGaudiThreadIDfromName ( _alg -> name() ) ;
217  }
218  else if ( Service* _svc = dynamic_cast<Service*> ( _p ) )
219  {
220  m_svcLocator = _svc -> serviceLocator () ;
221  m_messageSvc = _svc -> msgSvc () ;
222  m_threadID = getGaudiThreadIDfromName ( _svc -> name() ) ;
223  }
224  else if ( AlgTool* _too = dynamic_cast<AlgTool*> ( _p ) )
225  {
226  m_svcLocator = _too -> serviceLocator ();
227  m_messageSvc = _too -> msgSvc ();
229  }
230  else if ( Auditor* _aud = dynamic_cast<Auditor*> ( _p ) )
231  {
232  m_svcLocator = _aud -> serviceLocator() ;
233  m_messageSvc = _aud -> msgSvc() ;
234  m_threadID = getGaudiThreadIDfromName ( _aud -> name() ) ;
235  }
236  else
237  {
238  throw GaudiException
239  ( "Failure to create tool '"
240  + type + "/" + name + "': illegal parent type '"
241  + System::typeinfoName(typeid(*_p)) + "'", "AlgTool", 0 );
242  }
243 
244 
245  { // audit tools
246  auto appMgr = m_svcLocator->service<IProperty>("ApplicationMgr");
247  if ( !appMgr ) {
248  throw GaudiException("Could not locate ApplicationMgr","AlgTool",0);
249  }
250  const Property* p = Gaudi::Utils::getProperty( appMgr , "AuditTools");
251  if ( p ) { m_auditInit.assign ( *p ) ; }
252  declareProperty ( "AuditTools", m_auditInit );
253  bool audit = m_auditInit.value();
254  // Declare common AlgTool properties with their defaults
255  declareProperty ( "AuditInitialize" , m_auditorInitialize = audit ) ;
256  declareProperty ( "AuditStart" , m_auditorStart = audit ) ;
257  declareProperty ( "AuditStop" , m_auditorStop = audit ) ;
258  declareProperty ( "AuditFinalize" , m_auditorFinalize = audit ) ;
259  }
260 
261  // check thread ID and try if tool name indicates thread ID
262  if ( m_threadID.empty() )
264 }
void initOutputLevel(Property &prop)
callback for output level property
Definition: AlgTool.cpp:496
Define general base for Gaudi exception.
GAUDI_API std::string getGaudiThreadIDfromName(const std::string &name)
helper function to extract Gaudi Thread ID from thread copy name
Definition: ThreadGaudi.cpp:26
std::string m_type
AlgTool type (concrete class name)
Definition: AlgTool.h:320
GAUDI_API const std::string typeinfoName(const std::type_info &)
Get platform independent information about the class type.
Definition: System.cpp:299
IMessageSvc * m_messageSvc
Message service.
Definition: AlgTool.h:324
IntegerProperty m_outputLevel
AlgTool output level.
Definition: AlgTool.h:319
Property manager helper class.
Definition: PropertyMgr.h:34
ISvcLocator * serviceLocator() const
Retrieve pointer to service locator.
Definition: AlgTool.cpp:83
std::string m_monitorSvcName
Name to use for Monitor Service.
Definition: AlgTool.h:327
const std::string m_name
AlgTool full name.
Definition: AlgTool.h:321
StatusCode service(const Gaudi::Utils::TypeNameString &name, T *&svc, bool createIf=true)
Templated method to access a service by name.
Definition: ISvcLocator.h:78
IMessageSvc * msgSvc() const
Retrieve pointer to message service.
Definition: AlgTool.cpp:90
unsigned long addRef() override
Reference Interface instance.
Definition: implements.h:43
Property * declareProperty(const std::string &name, T &property, const std::string &doc="none") const
Declare the named property.
Definition: AlgTool.h:234
Definition of the basic interface.
Definition: IInterface.h:234
SmartIF< PropertyMgr > m_propertyMgr
Property Manager.
Definition: AlgTool.h:328
std::string m_threadID
Thread Id for Alg Tool.
Definition: AlgTool.h:330
const IInterface * m_parent
AlgTool parent.
Definition: AlgTool.h:322
const TYPE & value() const
explicit conversion
Definition: Property.h:341
GAUDI_API Property * getProperty(const IProperty *p, const std::string &name)
simple function which gets the property with given name from the component
Definition: Property.cpp:276
bool m_auditorFinalize
flag for auditors in "finalize()"
Definition: AlgTool.h:348
Base class from which all concrete algorithm classes should be derived.
Definition: Algorithm.h:61
Property base class allowing Property* collections to be "homogeneous".
Definition: Property.h:38
bool assign(const Property &source) override
get the value from another property
Definition: Property.h:269
Base class from which all the concrete tool classes should be derived.
Definition: AlgTool.h:34
virtual void declareUpdateHandler(std::function< void(Property &)> fun)
set new callback for update
Definition: Property.cpp:71
ISvcLocator * m_svcLocator
Pointer to Service Locator service.
Definition: AlgTool.h:323
tuple appMgr
Definition: IOTest.py:83
const std::string & type() const override
Retrieve type (concrete class) of the sub-algtool.
Definition: AlgTool.cpp:69
BooleanProperty m_auditInit
Definition: AlgTool.h:344
bool m_auditorStart
flag for auditors in "start()"
Definition: AlgTool.h:346
The IProperty is the basic interface for all components which have properties that can be set or get...
Definition: IProperty.h:21
Base class for all services.
Definition: Service.h:33
bool m_auditorStop
flag for auditors in "stop()"
Definition: AlgTool.h:347
const std::string & name() const override
Retrieve full identifying name of the concrete tool object.
Definition: AlgTool.cpp:62
bool m_auditorInitialize
flag for auditors in "initialize()"
Definition: AlgTool.h:345
Base class from which all concrete auditor classes should be derived.
Definition: Auditor.h:34
const IInterface * parent() const override
Retrieve parent of the sub-algtool.
Definition: AlgTool.cpp:76
AlgTool::~AlgTool ( )
overrideprotected

Definition at line 450 of file AlgTool.cpp.

452 {
453  if( m_pMonitorSvc ) { m_pMonitorSvc->undeclareAll(this); }
454 }
SmartIF< IMonitorSvc > m_pMonitorSvc
Online Monitoring Service.
Definition: AlgTool.h:326
virtual void undeclareAll(const IInterface *owner)=0
Undeclare monitoring information.
AlgTool::AlgTool ( const std::string &  type,
const std::string &  name,
const IInterface parent 
)

Standard Constructor.

Parameters
typethe concrete class of the sub-algtool
namethe full name of the concrete sub-algtool
parentthe parent of the concrete sub-algtool
AlgTool::~AlgTool ( )
overrideprotected

Member Function Documentation

IAuditorSvc * AlgTool::auditorSvc ( ) const

Access the auditor service.

Definition at line 483 of file AlgTool.cpp.

483  {
484 //---------------------------------------------------------------------------
485  if ( !m_pAuditorSvc ) {
486  m_pAuditorSvc = service( "AuditorSvc", true );
487  if( !m_pAuditorSvc ) {
488  throw GaudiException("Service [AuditorSvc] not found", name(), StatusCode::FAILURE);
489  }
490  }
491  return m_pAuditorSvc.get();
492 }
Define general base for Gaudi exception.
SmartIF< IAuditorSvc > m_pAuditorSvc
Auditor Service.
Definition: AlgTool.h:342
TYPE * get() const
Get interface pointer.
Definition: SmartIF.h:76
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.
Definition: AlgTool.h:180
const std::string & name() const override
Retrieve full identifying name of the concrete tool object.
Definition: AlgTool.cpp:62
IAuditorSvc* AlgTool::auditorSvc ( ) const

Access the auditor service.

StatusCode AlgTool::configure ( )
inlineoverride

Definition at line 57 of file AlgTool.h.

StatusCode AlgTool::configure ( )
inlineoverride

Definition at line 57 of file AlgTool.h.

template<class T >
void AlgTool::declareInfo ( const std::string &  name,
const T &  var,
const std::string &  desc 
) const
inline

Declare monitoring information.

Parameters
nameMonitoring information name known to the external system
varMonitoring Listener address (the item to monitor...)
descTextual description of the information being monitored

Definition at line 274 of file AlgTool.h.

277  {
278  IMonitorSvc* mS = monitorSvc();
279  if ( mS ) mS->declareInfo(name, var, desc, this);
280  }
IMonitorSvc * monitorSvc() const
Access the monitor service.
Definition: AlgTool.h:261
Definition of the IMonitorSvc interface, which publishes Gaudi variables to outside monitoring proces...
Definition: IMonitorSvc.h:21
virtual void declareInfo(const std::string &name, const bool &var, const std::string &desc, const IInterface *owner)=0
Declare monitoring information.
const std::string & name() const override
Retrieve full identifying name of the concrete tool object.
Definition: AlgTool.cpp:62
template<class T >
void AlgTool::declareInfo ( const std::string &  name,
const T &  var,
const std::string &  desc 
) const
inline

Declare monitoring information.

Parameters
nameMonitoring information name known to the external system
varMonitoring Listener address (the item to monitor...)
descTextual description of the information being monitored

Definition at line 274 of file AlgTool.h.

277  {
278  IMonitorSvc* mS = monitorSvc();
279  if ( mS ) mS->declareInfo(name, var, desc, this);
280  }
IMonitorSvc * monitorSvc() const
Access the monitor service.
Definition: AlgTool.h:261
Definition of the IMonitorSvc interface, which publishes Gaudi variables to outside monitoring proces...
Definition: IMonitorSvc.h:21
virtual void declareInfo(const std::string &name, const bool &var, const std::string &desc, const IInterface *owner)=0
Declare monitoring information.
const std::string & name() const override
Retrieve full identifying name of the concrete tool object.
Definition: AlgTool.cpp:62
void AlgTool::declareInfo ( const std::string &  name,
const std::string &  format,
const void *  var,
int  size,
const std::string &  desc 
) const
inline

Declare monitoring information (special case)

Parameters
nameMonitoring information name known to the external system
formatFormat information
varMonitoring Listener address
sizeMonitoring Listener address size
descTextual description of the information being monitored

Definition at line 289 of file AlgTool.h.

294  {
295  IMonitorSvc* mS = monitorSvc();
296  if ( mS ) mS->declareInfo(name, format, var, size, desc, this);
297  }
IMonitorSvc * monitorSvc() const
Access the monitor service.
Definition: AlgTool.h:261
Definition of the IMonitorSvc interface, which publishes Gaudi variables to outside monitoring proces...
Definition: IMonitorSvc.h:21
virtual void declareInfo(const std::string &name, const bool &var, const std::string &desc, const IInterface *owner)=0
Declare monitoring information.
const std::string & name() const override
Retrieve full identifying name of the concrete tool object.
Definition: AlgTool.cpp:62
GAUDI_API std::string format(const char *,...)
MsgStream format utility "a la sprintf(...)".
Definition: MsgStream.cpp:120
void AlgTool::declareInfo ( const std::string &  name,
const std::string &  format,
const void *  var,
int  size,
const std::string &  desc 
) const
inline

Declare monitoring information (special case)

Parameters
nameMonitoring information name known to the external system
formatFormat information
varMonitoring Listener address
sizeMonitoring Listener address size
descTextual description of the information being monitored

Definition at line 289 of file AlgTool.h.

294  {
295  IMonitorSvc* mS = monitorSvc();
296  if ( mS ) mS->declareInfo(name, format, var, size, desc, this);
297  }
IMonitorSvc * monitorSvc() const
Access the monitor service.
Definition: AlgTool.h:261
Definition of the IMonitorSvc interface, which publishes Gaudi variables to outside monitoring proces...
Definition: IMonitorSvc.h:21
virtual void declareInfo(const std::string &name, const bool &var, const std::string &desc, const IInterface *owner)=0
Declare monitoring information.
const std::string & name() const override
Retrieve full identifying name of the concrete tool object.
Definition: AlgTool.cpp:62
GAUDI_API std::string format(const char *,...)
MsgStream format utility "a la sprintf(...)".
Definition: MsgStream.cpp:120
template<typename I >
void AlgTool::declareInterface ( I *  i)
inlineprotected

Definition at line 200 of file AlgTool.h.

200 { m_interfaceList.emplace_back( I::interfaceID(), i ); }
InterfaceList m_interfaceList
Interface list.
Definition: AlgTool.h:329
list i
Definition: ana.py:128
template<typename I >
void AlgTool::declareInterface ( I *  i)
inlineprotected

Definition at line 200 of file AlgTool.h.

200 { m_interfaceList.emplace_back( I::interfaceID(), i ); }
InterfaceList m_interfaceList
Interface list.
Definition: AlgTool.h:329
list i
Definition: ana.py:128
template<class T >
Property* AlgTool::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
) const
inline

Declare the named property.

MyTool ( const std::string& type ,
const std::string& name ,
const IInterface* parent )
: AlgTool ( type , name , pSvc )
, m_property1 ( ... )
, m_property2 ( ... )
{
// declare the property
declareProperty( "Property1" , m_property1 , "Doc for property #1" ) ;
// declare the property and attach the handler to it
declareProperty( "Property2" , m_property2 , "Doc for property #2" )
-> declareUpdateHandler( &MyTool::handler_2 ) ;
}
See also
PropertyMgr
PropertyMgr::declareProperty
Parameters
namethe property name
propertythe property itself,
docthe documentation string
Returns
the actual property objects

Definition at line 234 of file AlgTool.h.

237  {
238  return m_propertyMgr -> declareProperty ( name , property , doc ) ;
239  }
Property * declareProperty(const std::string &name, T &property, const std::string &doc="none") const
Declare the named property.
Definition: AlgTool.h:234
SmartIF< PropertyMgr > m_propertyMgr
Property Manager.
Definition: AlgTool.h:328
const std::string & name() const override
Retrieve full identifying name of the concrete tool object.
Definition: AlgTool.cpp:62
template<class T >
Property* AlgTool::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
) const
inline

Declare the named property.

MyTool ( const std::string& type ,
const std::string& name ,
const IInterface* parent )
: AlgTool ( type , name , pSvc )
, m_property1 ( ... )
, m_property2 ( ... )
{
// declare the property
declareProperty( "Property1" , m_property1 , "Doc for property #1" ) ;
// declare the property and attach the handler to it
declareProperty( "Property2" , m_property2 , "Doc for property #2" )
-> declareUpdateHandler( &MyTool::handler_2 ) ;
}
See also
PropertyMgr
PropertyMgr::declareProperty
Parameters
namethe property name
propertythe property itself,
docthe documentation string
Returns
the actual property objects

Definition at line 234 of file AlgTool.h.

237  {
238  return m_propertyMgr -> declareProperty ( name , property , doc ) ;
239  }
Property * declareProperty(const std::string &name, T &property, const std::string &doc="none") const
Declare the named property.
Definition: AlgTool.h:234
SmartIF< PropertyMgr > m_propertyMgr
Property Manager.
Definition: AlgTool.h:328
const std::string & name() const override
Retrieve full identifying name of the concrete tool object.
Definition: AlgTool.cpp:62
Property* AlgTool::declareRemoteProperty ( const std::string &  name,
IProperty rsvc,
const std::string &  rname = "" 
) const
inline

Declare remote named properties.

Definition at line 242 of file AlgTool.h.

245  {
246  return m_propertyMgr-> declareRemoteProperty ( name , rsvc , rname ) ;
247  }
SmartIF< PropertyMgr > m_propertyMgr
Property Manager.
Definition: AlgTool.h:328
Property * declareRemoteProperty(const std::string &name, IProperty *rsvc, const std::string &rname="") const
Declare remote named properties.
Definition: AlgTool.h:242
const std::string & name() const override
Retrieve full identifying name of the concrete tool object.
Definition: AlgTool.cpp:62
Property* AlgTool::declareRemoteProperty ( const std::string &  name,
IProperty rsvc,
const std::string &  rname = "" 
) const
inline

Declare remote named properties.

Definition at line 242 of file AlgTool.h.

245  {
246  return m_propertyMgr-> declareRemoteProperty ( name , rsvc , rname ) ;
247  }
SmartIF< PropertyMgr > m_propertyMgr
Property Manager.
Definition: AlgTool.h:328
Property * declareRemoteProperty(const std::string &name, IProperty *rsvc, const std::string &rname="") const
Declare remote named properties.
Definition: AlgTool.h:242
const std::string & name() const override
Retrieve full identifying name of the concrete tool object.
Definition: AlgTool.cpp:62
StatusCode AlgTool::finalize ( )
override

Definition at line 351 of file AlgTool.cpp.

353 {
354  // For the time being there is nothing to be done here.
355  return StatusCode::SUCCESS;
356 }
StatusCode AlgTool::finalize ( )
override
Gaudi::StateMachine::State AlgTool::FSMState ( ) const
inlineoverride

Definition at line 65 of file AlgTool.h.

65 { return m_state; }
Gaudi::StateMachine::State m_state
state of the Tool
Definition: AlgTool.h:352
Gaudi::StateMachine::State AlgTool::FSMState ( ) const
inlineoverride

Definition at line 65 of file AlgTool.h.

65 { return m_state; }
Gaudi::StateMachine::State m_state
state of the Tool
Definition: AlgTool.h:352
const std::vector<Property*>& AlgTool::getProperties ( ) const
override
const std::vector< Property * > & AlgTool::getProperties ( ) const
override

Definition at line 151 of file AlgTool.cpp.

153 {
154  return m_propertyMgr->getProperties();
155 }
const std::vector< Property * > & getProperties() const override
get all properties
SmartIF< PropertyMgr > m_propertyMgr
Property Manager.
Definition: AlgTool.h:328
StatusCode AlgTool::getProperty ( Property p) const
override
StatusCode AlgTool::getProperty ( Property p) const
override

Definition at line 131 of file AlgTool.cpp.

133 {
134  return m_propertyMgr->getProperty(p);
135 }
StatusCode getProperty(Property *p) const override
get the property
SmartIF< PropertyMgr > m_propertyMgr
Property Manager.
Definition: AlgTool.h:328
const Property& AlgTool::getProperty ( const std::string &  name) const
override
const Property & AlgTool::getProperty ( const std::string &  name) const
override

Definition at line 138 of file AlgTool.cpp.

139 {
140  return m_propertyMgr->getProperty(n);
141 }
StatusCode getProperty(Property *p) const override
get the property
SmartIF< PropertyMgr > m_propertyMgr
Property Manager.
Definition: AlgTool.h:328
StatusCode AlgTool::getProperty ( const std::string &  n,
std::string &  v 
) const
override
StatusCode AlgTool::getProperty ( const std::string &  n,
std::string &  v 
) const
override

Definition at line 144 of file AlgTool.cpp.

146 {
147  return m_propertyMgr->getProperty(n,v);
148 }
StatusCode getProperty(Property *p) const override
get the property
SmartIF< PropertyMgr > m_propertyMgr
Property Manager.
Definition: AlgTool.h:328
PropertyMgr* AlgTool::getPropertyMgr ( )
inline

Definition at line 96 of file AlgTool.h.

96 { return m_propertyMgr.get(); }
TYPE * get() const
Get interface pointer.
Definition: SmartIF.h:76
SmartIF< PropertyMgr > m_propertyMgr
Property Manager.
Definition: AlgTool.h:328
PropertyMgr* AlgTool::getPropertyMgr ( )
inline

Definition at line 96 of file AlgTool.h.

96 { return m_propertyMgr.get(); }
TYPE * get() const
Get interface pointer.
Definition: SmartIF.h:76
SmartIF< PropertyMgr > m_propertyMgr
Property Manager.
Definition: AlgTool.h:328
bool AlgTool::hasProperty ( const std::string &  name) const
override
bool AlgTool::hasProperty ( const std::string &  name) const
override

Definition at line 157 of file AlgTool.cpp.

157  {
158  return m_propertyMgr->hasProperty(name);
159 }
SmartIF< PropertyMgr > m_propertyMgr
Property Manager.
Definition: AlgTool.h:328
bool hasProperty(const std::string &name) const override
Return true if we have a property with the given name.
const std::string & name() const override
Retrieve full identifying name of the concrete tool object.
Definition: AlgTool.cpp:62
StatusCode AlgTool::initialize ( )
override

Definition at line 281 of file AlgTool.cpp.

283 {
284  // For the time being there is nothing to be done here.
285  // Setting the properties is done by the ToolSvc calling setProperties()
286  // explicitly.
287  return StatusCode::SUCCESS;
288 }
StatusCode AlgTool::initialize ( )
override
void AlgTool::initOutputLevel ( Property prop)
protected

callback for output level property

Definition at line 496 of file AlgTool.cpp.

496  {
497 //-----------------------------------------------------------------------------
498  // do nothing... yet ?
499 }
void AlgTool::initOutputLevel ( Property prop)
protected

callback for output level property

IMonitorSvc* AlgTool::monitorSvc ( ) const
inline

Access the monitor service.

Attention
Note that this method will return a NULL pointer if no monitor service is configured to be present. You must take this possibility into account when using the pointer
Returns
Pointer to the Monitor service
Return values
NULLNo monitor service is present
non-NULLA monitor service is present and available to be used

Definition at line 261 of file AlgTool.h.

262  {
263  // If not already located try to locate it without forcing a creation
264  if ( !m_pMonitorSvc ) m_pMonitorSvc = service(m_monitorSvcName, false, true);
265  return m_pMonitorSvc.get();
266  }
SmartIF< IMonitorSvc > m_pMonitorSvc
Online Monitoring Service.
Definition: AlgTool.h:326
TYPE * get() const
Get interface pointer.
Definition: SmartIF.h:76
std::string m_monitorSvcName
Name to use for Monitor Service.
Definition: AlgTool.h:327
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.
Definition: AlgTool.h:180
IMonitorSvc* AlgTool::monitorSvc ( ) const
inline

Access the monitor service.

Attention
Note that this method will return a NULL pointer if no monitor service is configured to be present. You must take this possibility into account when using the pointer
Returns
Pointer to the Monitor service
Return values
NULLNo monitor service is present
non-NULLA monitor service is present and available to be used

Definition at line 261 of file AlgTool.h.

262  {
263  // If not already located try to locate it without forcing a creation
264  if ( !m_pMonitorSvc ) m_pMonitorSvc = service(m_monitorSvcName, false, true);
265  return m_pMonitorSvc.get();
266  }
SmartIF< IMonitorSvc > m_pMonitorSvc
Online Monitoring Service.
Definition: AlgTool.h:326
TYPE * get() const
Get interface pointer.
Definition: SmartIF.h:76
std::string m_monitorSvcName
Name to use for Monitor Service.
Definition: AlgTool.h:327
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.
Definition: AlgTool.h:180
IMessageSvc * AlgTool::msgSvc ( ) const

Retrieve pointer to message service.

Definition at line 90 of file AlgTool.cpp.

92 {
93  return m_messageSvc;
94 }
IMessageSvc * m_messageSvc
Message service.
Definition: AlgTool.h:324
IMessageSvc* AlgTool::msgSvc ( ) const

Retrieve pointer to message service.

const std::string & AlgTool::name ( ) const
override

Retrieve full identifying name of the concrete tool object.

Definition at line 62 of file AlgTool.cpp.

64 {
65  return m_name;
66 }
const std::string m_name
AlgTool full name.
Definition: AlgTool.h:321
const std::string& AlgTool::name ( ) const
override

Retrieve full identifying name of the concrete tool object.

int AlgTool::outputLevel ( ) const
inlineprotected

get tool's output level

Definition at line 302 of file AlgTool.h.

302 { return (int)m_outputLevel ; }
IntegerProperty m_outputLevel
AlgTool output level.
Definition: AlgTool.h:319
int AlgTool::outputLevel ( ) const
inlineprotected

get tool's output level

Definition at line 302 of file AlgTool.h.

302 { return (int)m_outputLevel ; }
IntegerProperty m_outputLevel
AlgTool output level.
Definition: AlgTool.h:319
IntegerProperty& AlgTool::outputLevelProperty ( )
inlineprotected

Accessor for the Message level property.

Definition at line 305 of file AlgTool.h.

305 { return m_outputLevel; }
IntegerProperty m_outputLevel
AlgTool output level.
Definition: AlgTool.h:319
IntegerProperty& AlgTool::outputLevelProperty ( )
inlineprotected

Accessor for the Message level property.

Definition at line 305 of file AlgTool.h.

305 { return m_outputLevel; }
IntegerProperty m_outputLevel
AlgTool output level.
Definition: AlgTool.h:319
const IInterface * AlgTool::parent ( ) const
override

Retrieve parent of the sub-algtool.

Definition at line 76 of file AlgTool.cpp.

78 {
79  return m_parent;
80 }
const IInterface * m_parent
AlgTool parent.
Definition: AlgTool.h:322
const IInterface* AlgTool::parent ( ) const
override

Retrieve parent of the sub-algtool.

StatusCode AlgTool::queryInterface ( const InterfaceID riid,
void **  ppvUnknown 
)
override

Query for a given interface.

Definition at line 42 of file AlgTool.cpp.

45 {
46  if ( !ppvi ) { return StatusCode::FAILURE ; } // RETURN
48  if (sc.isSuccess()) return sc;
49  auto i = std::find_if( std::begin(m_interfaceList), std::end(m_interfaceList),
50  [&](const std::pair<InterfaceID,void*>& item) {
51  return item.first.versionMatch(riid);
52  } );
53  if ( i == std::end(m_interfaceList) ) {
54  *ppvi = nullptr ;
55  return NO_INTERFACE ; // RETURN
56  }
57  *ppvi = i->second ;
58  addRef() ;
59  return SUCCESS ; // RETURN
60 }
auto begin(reverse_wrapper< T > &w)
Definition: reverse.h:45
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:76
auto end(reverse_wrapper< T > &w)
Definition: reverse.h:47
unsigned long addRef() override
Reference Interface instance.
Definition: implements.h:43
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
tuple item
print s1,s2
Definition: ana.py:146
InterfaceList m_interfaceList
Interface list.
Definition: AlgTool.h:329
StatusCode queryInterface(const InterfaceID &ti, void **pp) override
Implementation of IInterface::queryInterface.
Definition: implements.h:21
list i
Definition: ana.py:128
StatusCode AlgTool::queryInterface ( const InterfaceID riid,
void **  ppvUnknown 
)
override

Query for a given interface.

StatusCode AlgTool::reinitialize ( )
override

Definition at line 382 of file AlgTool.cpp.

384 {
385  /* @TODO
386  * MCl 2008-10-23: the implementation of reinitialize as finalize+initialize
387  * is causing too many problems
388  *
389  // Default implementation is finalize+initialize
390  StatusCode sc = finalize();
391  if (sc.isFailure()) {
392  MsgStream log ( msgSvc(), name() );
393  log << MSG::ERROR << "reinitialize(): cannot be finalized" << endmsg;
394  return sc;
395  }
396  sc = initialize();
397  if (sc.isFailure()) {
398  MsgStream log ( msgSvc(), name() );
399  log << MSG::ERROR << "reinitialize(): cannot be initialized" << endmsg;
400  return sc;
401  }
402  */
403  return StatusCode::SUCCESS;
404 }
StatusCode AlgTool::reinitialize ( )
override
StatusCode AlgTool::restart ( )
override

Definition at line 430 of file AlgTool.cpp.

432 {
433  // Default implementation is stop+start
434  StatusCode sc = stop();
435  if (sc.isFailure()) {
436  MsgStream log ( msgSvc(), name() );
437  log << MSG::ERROR << "restart(): cannot be stopped" << endmsg;
438  return sc;
439  }
440  sc = start();
441  if (sc.isFailure()) {
442  MsgStream log ( msgSvc(), name() );
443  log << MSG::ERROR << "restart(): cannot be started" << endmsg;
444  return sc;
445  }
446  return StatusCode::SUCCESS;
447 }
Definition of the MsgStream class used to transmit messages.
Definition: MsgStream.h:24
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
bool isFailure() const
Test for a status code of FAILURE.
Definition: StatusCode.h:86
IMessageSvc * msgSvc() const
Retrieve pointer to message service.
Definition: AlgTool.cpp:90
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
StatusCode stop() override
Definition: AlgTool.cpp:329
const std::string & name() const override
Retrieve full identifying name of the concrete tool object.
Definition: AlgTool.cpp:62
StatusCode start() override
Definition: AlgTool.cpp:306
StatusCode AlgTool::restart ( )
override
template<class T >
StatusCode AlgTool::service ( const std::string &  name,
T *&  svc,
bool  createIf = true 
) const
inline

Access a service by name, creating it if it doesn't already exist.

Definition at line 180 of file AlgTool.h.

180  {
181  return service_i(name, createIf, T::interfaceID(), (void**)&svc);
182  }
StatusCode service_i(const std::string &algName, bool createIf, const InterfaceID &iid, void **ppSvc) const
implementation of service method
Definition: AlgTool.cpp:459
const std::string & name() const override
Retrieve full identifying name of the concrete tool object.
Definition: AlgTool.cpp:62
template<class T >
StatusCode AlgTool::service ( const std::string &  name,
T *&  svc,
bool  createIf = true 
) const
inline

Access a service by name, creating it if it doesn't already exist.

Definition at line 180 of file AlgTool.h.

180  {
181  return service_i(name, createIf, T::interfaceID(), (void**)&svc);
182  }
StatusCode service_i(const std::string &algName, bool createIf, const InterfaceID &iid, void **ppSvc) const
implementation of service method
Definition: AlgTool.cpp:459
const std::string & name() const override
Retrieve full identifying name of the concrete tool object.
Definition: AlgTool.cpp:62
template<class T >
StatusCode AlgTool::service ( const std::string &  type,
const std::string &  name,
T *&  svc 
) const
inline

Access a service by name, type creating it if it doesn't already exist.

Definition at line 187 of file AlgTool.h.

187  {
188  return service_i(type, name, T::interfaceID(), (void**)&svc);
189  }
StatusCode service_i(const std::string &algName, bool createIf, const InterfaceID &iid, void **ppSvc) const
implementation of service method
Definition: AlgTool.cpp:459
const std::string & type() const override
Retrieve type (concrete class) of the sub-algtool.
Definition: AlgTool.cpp:69
const std::string & name() const override
Retrieve full identifying name of the concrete tool object.
Definition: AlgTool.cpp:62
template<class T >
StatusCode AlgTool::service ( const std::string &  type,
const std::string &  name,
T *&  svc 
) const
inline

Access a service by name, type creating it if it doesn't already exist.

Definition at line 187 of file AlgTool.h.

187  {
188  return service_i(type, name, T::interfaceID(), (void**)&svc);
189  }
StatusCode service_i(const std::string &algName, bool createIf, const InterfaceID &iid, void **ppSvc) const
implementation of service method
Definition: AlgTool.cpp:459
const std::string & type() const override
Retrieve type (concrete class) of the sub-algtool.
Definition: AlgTool.cpp:69
const std::string & name() const override
Retrieve full identifying name of the concrete tool object.
Definition: AlgTool.cpp:62
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 477 of file AlgTool.cpp.

477  {
478  const ServiceLocatorHelper helper(*serviceLocator(), *this);
479  return helper.service(name, quiet, createIf);
480 }
an helper to share the implementation of service() among the various kernel base classes ...
ISvcLocator * serviceLocator() const
Retrieve pointer to service locator.
Definition: AlgTool.cpp:83
const std::string & name() const override
Retrieve full identifying name of the concrete tool object.
Definition: AlgTool.cpp:62
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")

template<typename T >
SmartIF<T> AlgTool::service ( const std::string &  name,
const bool  createIf = true,
const bool  quiet = false 
) const
inline

Definition at line 195 of file AlgTool.h.

196  { return SmartIF<T>( service(name,createIf,quiet) ); }
Small smart pointer class with automatic reference counting for IInterface.
Definition: IConverter.h:14
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.
Definition: AlgTool.h:180
const std::string & name() const override
Retrieve full identifying name of the concrete tool object.
Definition: AlgTool.cpp:62
template<typename T >
SmartIF<T> AlgTool::service ( const std::string &  name,
const bool  createIf = true,
const bool  quiet = false 
) const
inline

Definition at line 195 of file AlgTool.h.

196  { return SmartIF<T>( service(name,createIf,quiet) ); }
Small smart pointer class with automatic reference counting for IInterface.
Definition: IConverter.h:14
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.
Definition: AlgTool.h:180
const std::string & name() const override
Retrieve full identifying name of the concrete tool object.
Definition: AlgTool.cpp:62
StatusCode AlgTool::service_i ( const std::string &  algName,
bool  createIf,
const InterfaceID iid,
void **  ppSvc 
) const
private

implementation of service method

StatusCode AlgTool::service_i ( const std::string &  algName,
bool  createIf,
const InterfaceID iid,
void **  ppSvc 
) const
private

implementation of service method

Definition at line 459 of file AlgTool.cpp.

462  {
463  const ServiceLocatorHelper helper(*serviceLocator(), *this);
464  return helper.getService(svcName, createIf, iid, ppSvc);
465 }
an helper to share the implementation of service() among the various kernel base classes ...
ISvcLocator * serviceLocator() const
Retrieve pointer to service locator.
Definition: AlgTool.cpp:83
StatusCode AlgTool::service_i ( const std::string &  svcType,
const std::string &  svcName,
const InterfaceID iid,
void **  ppS 
) const
private
StatusCode AlgTool::service_i ( const std::string &  svcType,
const std::string &  svcName,
const InterfaceID iid,
void **  ppS 
) const
private

Definition at line 469 of file AlgTool.cpp.

472  {
473  const ServiceLocatorHelper helper(*serviceLocator(), *this);
474  return helper.createService(svcType, svcName, iid, ppSvc);
475 }
an helper to share the implementation of service() among the various kernel base classes ...
ISvcLocator * serviceLocator() const
Retrieve pointer to service locator.
Definition: AlgTool.cpp:83
ISvcLocator* AlgTool::serviceLocator ( ) const

Retrieve pointer to service locator.

ISvcLocator * AlgTool::serviceLocator ( ) const

Retrieve pointer to service locator.

Definition at line 83 of file AlgTool.cpp.

85 {
86  return m_svcLocator;
87 }
ISvcLocator * m_svcLocator
Pointer to Service Locator service.
Definition: AlgTool.h:323
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 162 of file AlgTool.cpp.

164 {
165  if( !m_svcLocator ) return StatusCode::FAILURE;
166  auto jos = m_svcLocator->service<IJobOptionsSvc>("JobOptionsSvc");
167  if( !jos ) return StatusCode::FAILURE;
168 
169  // set first generic Properties
170  StatusCode sc = jos->setMyProperties( getGaudiThreadGenericName(name()), this );
171  if( sc.isFailure() ) return StatusCode::FAILURE;
172 
173  // set specific Properties
174  if (isGaudiThreaded(name())) {
175  if(jos->setMyProperties( name(), this ).isFailure()) {
176  return StatusCode::FAILURE;
177  }
178  }
179 
180  // Change my own outputlevel
181  if ( m_messageSvc ) {
182  if ( MSG::NIL != m_outputLevel )
183  { m_messageSvc -> setOutputLevel ( name (), m_outputLevel ) ; }
185  }
186  return StatusCode::SUCCESS;
187 }
GAUDI_API bool isGaudiThreaded(const std::string &name)
test if current Gaudi object is running /will run in a thread
Definition: ThreadGaudi.cpp:73
IMessageSvc * m_messageSvc
Message service.
Definition: AlgTool.h:324
IntegerProperty m_outputLevel
AlgTool output level.
Definition: AlgTool.h:319
GAUDI_API std::string getGaudiThreadGenericName(const std::string &name)
helper function to extract Gaudi instance name from thread copy name
Definition: ThreadGaudi.cpp:50
bool isFailure() const
Test for a status code of FAILURE.
Definition: StatusCode.h:86
StatusCode service(const Gaudi::Utils::TypeNameString &name, T *&svc, bool createIf=true)
Templated method to access a service by name.
Definition: ISvcLocator.h:78
Main interface for the JobOptions service.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
int outputLevel() const
get tool's output level
Definition: AlgTool.h:302
ISvcLocator * m_svcLocator
Pointer to Service Locator service.
Definition: AlgTool.h:323
const std::string & name() const override
Retrieve full identifying name of the concrete tool object.
Definition: AlgTool.cpp:62
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.

StatusCode AlgTool::setProperty ( const Property p)
override

Default implementations for IProperty interface.

StatusCode AlgTool::setProperty ( const Property p)
override

Default implementations for IProperty interface.

Definition at line 110 of file AlgTool.cpp.

112 {
113  return m_propertyMgr->setProperty(p);
114 }
StatusCode setProperty(const Property &p) override
set the property form another property
SmartIF< PropertyMgr > m_propertyMgr
Property Manager.
Definition: AlgTool.h:328
StatusCode AlgTool::setProperty ( const std::string &  s)
override

Definition at line 117 of file AlgTool.cpp.

119 {
120  return m_propertyMgr->setProperty(s);
121 }
StatusCode setProperty(const Property &p) override
set the property form another property
SmartIF< PropertyMgr > m_propertyMgr
Property Manager.
Definition: AlgTool.h:328
string s
Definition: gaudirun.py:246
StatusCode AlgTool::setProperty ( const std::string &  s)
override
StatusCode AlgTool::setProperty ( const std::string &  n,
const std::string &  v 
)
override

Definition at line 124 of file AlgTool.cpp.

126 {
127  return m_propertyMgr->setProperty(n,v);
128 }
StatusCode setProperty(const Property &p) override
set the property form another property
SmartIF< PropertyMgr > m_propertyMgr
Property Manager.
Definition: AlgTool.h:328
StatusCode AlgTool::setProperty ( const std::string &  n,
const std::string &  v 
)
override
template<class TYPE >
StatusCode AlgTool::setProperty ( const std::string &  name,
const TYPE &  value 
)
inline

set the property form the value

std::vector<double> data = ... ;
setProperty( "Data" , data ) ;
std::map<std::string,double> cuts = ... ;
setProperty( "Cuts" , cuts ) ;
std::map<std::string,std::string> dict = ... ;
setProperty( "Dictionary" , dict ) ;

Note: the interface IProperty allows setting of the properties either directly from other properties or from strings only

This is very convenient in resetting of the default properties in the derived classes. E.g. without this method one needs to convert everything into strings to use IProperty::setProperty

setProperty ( "OutputLevel" , "1" ) ;
setProperty ( "Enable" , "True" ) ;
setProperty ( "ErrorMax" , "10" ) ;

For simple cases it is more or less ok, but for complicated properties it is just ugly..

Parameters
namename of the property
valuevalue of the property
See also
Gaudi::Utils::setProperty
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2007-05-13

Definition at line 142 of file AlgTool.h.

144  { return Gaudi::Utils::setProperty ( m_propertyMgr.get() , name , value ) ; }
StatusCode setProperty(IProperty *component, const std::string &name, const TYPE &value, const std::string &doc)
simple function to set the property of the given object from the value
Definition: Property.h:1187
TYPE * get() const
Get interface pointer.
Definition: SmartIF.h:76
SmartIF< PropertyMgr > m_propertyMgr
Property Manager.
Definition: AlgTool.h:328
const std::string & name() const override
Retrieve full identifying name of the concrete tool object.
Definition: AlgTool.cpp:62
template<class TYPE >
StatusCode AlgTool::setProperty ( const std::string &  name,
const TYPE &  value 
)
inline

set the property form the value

std::vector<double> data = ... ;
setProperty( "Data" , data ) ;
std::map<std::string,double> cuts = ... ;
setProperty( "Cuts" , cuts ) ;
std::map<std::string,std::string> dict = ... ;
setProperty( "Dictionary" , dict ) ;

Note: the interface IProperty allows setting of the properties either directly from other properties or from strings only

This is very convenient in resetting of the default properties in the derived classes. E.g. without this method one needs to convert everything into strings to use IProperty::setProperty

setProperty ( "OutputLevel" , "1" ) ;
setProperty ( "Enable" , "True" ) ;
setProperty ( "ErrorMax" , "10" ) ;

For simple cases it is more or less ok, but for complicated properties it is just ugly..

Parameters
namename of the property
valuevalue of the property
See also
Gaudi::Utils::setProperty
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2007-05-13

Definition at line 142 of file AlgTool.h.

144  { return Gaudi::Utils::setProperty ( m_propertyMgr.get() , name , value ) ; }
StatusCode setProperty(IProperty *component, const std::string &name, const TYPE &value, const std::string &doc)
simple function to set the property of the given object from the value
Definition: Property.h:1187
TYPE * get() const
Get interface pointer.
Definition: SmartIF.h:76
SmartIF< PropertyMgr > m_propertyMgr
Property Manager.
Definition: AlgTool.h:328
const std::string & name() const override
Retrieve full identifying name of the concrete tool object.
Definition: AlgTool.cpp:62
StatusCode AlgTool::start ( )
override
StatusCode AlgTool::start ( )
override

Definition at line 306 of file AlgTool.cpp.

308 {
309  // For the time being there is nothing to be done here.
310  return StatusCode::SUCCESS;
311 }
StatusCode AlgTool::stop ( )
override

Definition at line 329 of file AlgTool.cpp.

331 {
332  // For the time being there is nothing to be done here.
333  return StatusCode::SUCCESS;
334 }
StatusCode AlgTool::stop ( )
override
ISvcLocator* AlgTool::svcLoc ( ) const
inline

shortcut for the method service locator

Definition at line 160 of file AlgTool.h.

160 { return serviceLocator() ; }
ISvcLocator * serviceLocator() const
Retrieve pointer to service locator.
Definition: AlgTool.cpp:83
ISvcLocator* AlgTool::svcLoc ( ) const
inline

shortcut for the method service locator

Definition at line 160 of file AlgTool.h.

160 { return serviceLocator() ; }
ISvcLocator * serviceLocator() const
Retrieve pointer to service locator.
Definition: AlgTool.cpp:83
StatusCode AlgTool::sysFinalize ( )
override

Finalize AlgTool.

StatusCode AlgTool::sysFinalize ( )
override

Finalize AlgTool.

Definition at line 337 of file AlgTool.cpp.

337  {
338 //-----------------------------------------------------------------------------
339  return attempt( *this, "sysFinalize", [&]() {
341  Gaudi::Guards::AuditorGuard guard(this,
342  // check if we want to audit the initialize
343  m_auditorFinalize ? auditorSvc() : nullptr,
345  StatusCode sc = finalize();
346  if (sc.isSuccess()) m_state = m_targetState;
347  return sc;
348  } );
349 }
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:76
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...
Definition: StateMachine.cpp:8
StatusCode finalize() override
Definition: AlgTool.cpp:351
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
bool m_auditorFinalize
flag for auditors in "finalize()"
Definition: AlgTool.h:348
Gaudi::StateMachine::State m_state
state of the Tool
Definition: AlgTool.h:352
Gaudi::StateMachine::State m_targetState
state of the Tool
Definition: AlgTool.h:353
It is a simple guard, which "locks" the scope for the Auditor Service is am exception-safe way...
Definition: Guards.h:214
IAuditorSvc * auditorSvc() const
Access the auditor service.
Definition: AlgTool.cpp:483
StatusCode AlgTool::sysInitialize ( )
override

Initialize AlgTool.

StatusCode AlgTool::sysInitialize ( )
override

Initialize AlgTool.

Definition at line 267 of file AlgTool.cpp.

267  {
268 //-----------------------------------------------------------------------------
269  return attempt( *this, "sysInitialize", [&]() {
271  Gaudi::Guards::AuditorGuard guard(this,
272  // check if we want to audit the initialize
273  m_auditorInitialize ? auditorSvc() : nullptr,
276  if (sc.isSuccess()) m_state = m_targetState;
277  return sc;
278  } );
279 }
StatusCode initialize() override
Definition: AlgTool.cpp:281
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:76
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...
Definition: StateMachine.cpp:8
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
Gaudi::StateMachine::State m_state
state of the Tool
Definition: AlgTool.h:352
Gaudi::StateMachine::State m_targetState
state of the Tool
Definition: AlgTool.h:353
It is a simple guard, which "locks" the scope for the Auditor Service is am exception-safe way...
Definition: Guards.h:214
bool m_auditorInitialize
flag for auditors in "initialize()"
Definition: AlgTool.h:345
IAuditorSvc * auditorSvc() const
Access the auditor service.
Definition: AlgTool.cpp:483
StatusCode AlgTool::sysReinitialize ( )
override

Initialize AlgTool.

Definition at line 359 of file AlgTool.cpp.

359  {
360 //-----------------------------------------------------------------------------
361 
362  // Check that the current status is the correct one.
364  MsgStream log ( msgSvc(), name() );
365  log << MSG::ERROR
366  << "sysReinitialize(): cannot reinitialize tool not initialized"
367  << endmsg;
368  return StatusCode::FAILURE;
369  }
370 
371  return attempt(*this, "SysReinitialize()", [&]() {
372  Gaudi::Guards::AuditorGuard guard(this,
373  // check if we want to audit the initialize
374  m_auditorReinitialize ? auditorSvc() : nullptr,
376  return reinitialize();
377  } );
378 
379 }
Definition of the MsgStream class used to transmit messages.
Definition: MsgStream.h:24
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
Gaudi::StateMachine::State FSMState() const override
Definition: AlgTool.h:65
IMessageSvc * msgSvc() const
Retrieve pointer to message service.
Definition: AlgTool.cpp:90
bool m_auditorReinitialize
flag for auditors in "reinitialize()"
Definition: AlgTool.h:349
StatusCode reinitialize() override
Definition: AlgTool.cpp:382
It is a simple guard, which "locks" the scope for the Auditor Service is am exception-safe way...
Definition: Guards.h:214
const std::string & name() const override
Retrieve full identifying name of the concrete tool object.
Definition: AlgTool.cpp:62
IAuditorSvc * auditorSvc() const
Access the auditor service.
Definition: AlgTool.cpp:483
StatusCode AlgTool::sysReinitialize ( )
override

Initialize AlgTool.

StatusCode AlgTool::sysRestart ( )
override

Start AlgTool.

StatusCode AlgTool::sysRestart ( )
override

Start AlgTool.

Definition at line 407 of file AlgTool.cpp.

407  {
408 //-----------------------------------------------------------------------------
409 
410  // Check that the current status is the correct one.
412  MsgStream log ( msgSvc(), name() );
413  log << MSG::ERROR
414  << "sysRestart(): cannot reinitialize tool not started"
415  << endmsg;
416  return StatusCode::FAILURE;
417  }
418 
419  return attempt(*this, "sysRestart", [&]() {
421  Gaudi::Guards::AuditorGuard guard(this,
422  // check if we want to audit the initialize
423  m_auditorRestart ? auditorSvc() : nullptr,
425  return restart();
426  } );
427 }
Definition of the MsgStream class used to transmit messages.
Definition: MsgStream.h:24
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
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...
Definition: StateMachine.cpp:8
Gaudi::StateMachine::State FSMState() const override
Definition: AlgTool.h:65
IMessageSvc * msgSvc() const
Retrieve pointer to message service.
Definition: AlgTool.cpp:90
StatusCode restart() override
Definition: AlgTool.cpp:430
Gaudi::StateMachine::State m_state
state of the Tool
Definition: AlgTool.h:352
bool m_auditorRestart
flag for auditors in "restart()"
Definition: AlgTool.h:350
Gaudi::StateMachine::State m_targetState
state of the Tool
Definition: AlgTool.h:353
It is a simple guard, which "locks" the scope for the Auditor Service is am exception-safe way...
Definition: Guards.h:214
const std::string & name() const override
Retrieve full identifying name of the concrete tool object.
Definition: AlgTool.cpp:62
IAuditorSvc * auditorSvc() const
Access the auditor service.
Definition: AlgTool.cpp:483
StatusCode AlgTool::sysStart ( )
override

Start AlgTool.

StatusCode AlgTool::sysStart ( )
override

Start AlgTool.

Definition at line 291 of file AlgTool.cpp.

291  {
292 //-----------------------------------------------------------------------------
293  return attempt( *this, "sysInitialize", [&]() {
295  Gaudi::Guards::AuditorGuard guard(this,
296  // check if we want to audit the initialize
297  m_auditorStart ? auditorSvc() : nullptr,
299  StatusCode sc = start();
300  if (sc.isSuccess()) m_state = m_targetState;
301  return sc;
302  } );
303 }
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:76
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...
Definition: StateMachine.cpp:8
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
Gaudi::StateMachine::State m_state
state of the Tool
Definition: AlgTool.h:352
bool m_auditorStart
flag for auditors in "start()"
Definition: AlgTool.h:346
Gaudi::StateMachine::State m_targetState
state of the Tool
Definition: AlgTool.h:353
It is a simple guard, which "locks" the scope for the Auditor Service is am exception-safe way...
Definition: Guards.h:214
IAuditorSvc * auditorSvc() const
Access the auditor service.
Definition: AlgTool.cpp:483
StatusCode start() override
Definition: AlgTool.cpp:306
StatusCode AlgTool::sysStop ( )
override

Stop AlgTool.

StatusCode AlgTool::sysStop ( )
override

Stop AlgTool.

Definition at line 314 of file AlgTool.cpp.

314  {
315 //-----------------------------------------------------------------------------
316  return attempt( *this, "sysStop", [&]() {
318  Gaudi::Guards::AuditorGuard guard(this,
319  // check if we want to audit the initialize
320  m_auditorStop ? auditorSvc() : nullptr,
322  StatusCode sc = stop();
323  if (sc.isSuccess()) m_state = m_targetState;
324  return sc;
325  } );
326 }
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:76
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...
Definition: StateMachine.cpp:8
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
Gaudi::StateMachine::State m_state
state of the Tool
Definition: AlgTool.h:352
StatusCode stop() override
Definition: AlgTool.cpp:329
Gaudi::StateMachine::State m_targetState
state of the Tool
Definition: AlgTool.h:353
It is a simple guard, which "locks" the scope for the Auditor Service is am exception-safe way...
Definition: Guards.h:214
bool m_auditorStop
flag for auditors in "stop()"
Definition: AlgTool.h:347
IAuditorSvc * auditorSvc() const
Access the auditor service.
Definition: AlgTool.cpp:483
Gaudi::StateMachine::State AlgTool::targetFSMState ( ) const
inlineoverride

Definition at line 66 of file AlgTool.h.

66 { return m_targetState; }
Gaudi::StateMachine::State m_targetState
state of the Tool
Definition: AlgTool.h:353
Gaudi::StateMachine::State AlgTool::targetFSMState ( ) const
inlineoverride

Definition at line 66 of file AlgTool.h.

66 { return m_targetState; }
Gaudi::StateMachine::State m_targetState
state of the Tool
Definition: AlgTool.h:353
StatusCode AlgTool::terminate ( )
inlineoverride

Definition at line 62 of file AlgTool.h.

StatusCode AlgTool::terminate ( )
inlineoverride

Definition at line 62 of file AlgTool.h.

IToolSvc* AlgTool::toolSvc ( ) const

The standard ToolSvc service, Return a pointer to the service if present.

IToolSvc * AlgTool::toolSvc ( ) const

The standard ToolSvc service, Return a pointer to the service if present.

Definition at line 97 of file AlgTool.cpp.

99 {
100  if ( !m_ptoolSvc ) {
101  m_ptoolSvc = service( "ToolSvc", true );
102  if( !m_ptoolSvc ) {
103  throw GaudiException("Service [ToolSvc] not found", name(), StatusCode::FAILURE);
104  }
105  }
106  return m_ptoolSvc.get();
107 }
Define general base for Gaudi exception.
TYPE * get() const
Get interface pointer.
Definition: SmartIF.h:76
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.
Definition: AlgTool.h:180
SmartIF< IToolSvc > m_ptoolSvc
Tool service.
Definition: AlgTool.h:325
const std::string & name() const override
Retrieve full identifying name of the concrete tool object.
Definition: AlgTool.cpp:62
const std::string& AlgTool::type ( ) const
override

Retrieve type (concrete class) of the sub-algtool.

const std::string & AlgTool::type ( ) const
override

Retrieve type (concrete class) of the sub-algtool.

Definition at line 69 of file AlgTool.cpp.

71 {
72  return m_type;
73 }
std::string m_type
AlgTool type (concrete class name)
Definition: AlgTool.h:320

Friends And Related Function Documentation

ToolSvc
friend

Definition at line 35 of file AlgTool.h.

Member Data Documentation

BooleanProperty AlgTool::m_auditInit = false
private

Definition at line 344 of file AlgTool.h.

bool AlgTool::m_auditorFinalize = false
private

flag for auditors in "finalize()"

Definition at line 348 of file AlgTool.h.

bool AlgTool::m_auditorInitialize = false
private

flag for auditors in "initialize()"

Definition at line 345 of file AlgTool.h.

bool AlgTool::m_auditorReinitialize = false
private

flag for auditors in "reinitialize()"

Definition at line 349 of file AlgTool.h.

bool AlgTool::m_auditorRestart = false
private

flag for auditors in "restart()"

Definition at line 350 of file AlgTool.h.

bool AlgTool::m_auditorStart = false
private

flag for auditors in "start()"

Definition at line 346 of file AlgTool.h.

bool AlgTool::m_auditorStop = false
private

flag for auditors in "stop()"

Definition at line 347 of file AlgTool.h.

InterfaceList AlgTool::m_interfaceList
private

Interface list.

Definition at line 329 of file AlgTool.h.

IMessageSvc * AlgTool::m_messageSvc = nullptr
mutableprivate

Message service.

Definition at line 324 of file AlgTool.h.

std::string AlgTool::m_monitorSvcName
private

Name to use for Monitor Service.

Definition at line 327 of file AlgTool.h.

const std::string AlgTool::m_name
private

AlgTool full name.

Definition at line 321 of file AlgTool.h.

IntegerProperty AlgTool::m_outputLevel = MSG::NIL
private

AlgTool output level.

Definition at line 319 of file AlgTool.h.

const IInterface * AlgTool::m_parent = nullptr
private

AlgTool parent.

Definition at line 322 of file AlgTool.h.

SmartIF< IAuditorSvc > AlgTool::m_pAuditorSvc
mutableprivate

Auditor Service.

Definition at line 342 of file AlgTool.h.

SmartIF< IMonitorSvc > AlgTool::m_pMonitorSvc
mutableprivate

Online Monitoring Service.

Definition at line 326 of file AlgTool.h.

SmartIF< PropertyMgr > AlgTool::m_propertyMgr
private

Property Manager.

Definition at line 328 of file AlgTool.h.

SmartIF< IToolSvc > AlgTool::m_ptoolSvc
mutableprivate

Tool service.

Definition at line 325 of file AlgTool.h.

state of the Tool

Definition at line 352 of file AlgTool.h.

ISvcLocator * AlgTool::m_svcLocator = nullptr
mutableprivate

Pointer to Service Locator service.

Definition at line 323 of file AlgTool.h.

state of the Tool

Definition at line 353 of file AlgTool.h.

std::string AlgTool::m_threadID
private

Thread Id for Alg Tool.

Definition at line 330 of file AlgTool.h.

std::string AlgTool::m_type
private

AlgTool type (concrete class name)

Definition at line 320 of file AlgTool.h.


The documentation for this class was generated from the following files: