Algorithm Class Reference

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

#include <GaudiKernel/Algorithm.h>

Inheritance diagram for Algorithm:
Collaboration diagram for Algorithm:

Public Types

typedef Gaudi::PluginService::Factory< IAlgorithm *, const std::string &, ISvcLocator * > Factory
 
typedef Gaudi::PluginService::Factory< IAlgorithm *, const std::string &, ISvcLocator * > 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

 Algorithm (const std::string &name, ISvcLocator *svcloc, const std::string &version=PACKAGE_VERSION)
 Constructor. More...
 
 ~Algorithm () override=default
 Destructor. More...
 
StatusCode sysStart () override
 Reinitialization method invoked by the framework. More...
 
StatusCode sysInitialize () override
 Initialization method invoked by the framework. More...
 
StatusCode sysReinitialize () override
 Reinitialization method invoked by the framework. More...
 
StatusCode sysRestart () override
 Restart method invoked by the framework. More...
 
StatusCode sysExecute () override
 The actions to be performed by the algorithm on an event. More...
 
StatusCode sysStop () override
 System stop. More...
 
StatusCode sysFinalize () override
 System finalization. More...
 
StatusCode sysBeginRun () override
 beginRun method invoked by the framework. More...
 
StatusCode sysEndRun () override
 endRun method invoked by the framework. More...
 
const std::string & name () const override
 The identifying name of the algorithm object. More...
 
const std::string & version () const override
 
StatusCode configure () override
 Dummy implementation of IStateful::configure() method. More...
 
StatusCode terminate () override
 Dummy implementation of IStateful::terminate() method. More...
 
StatusCode initialize () override
 the default (empty) implementation of IStateful::initialize() method More...
 
StatusCode start () override
 the default (empty) implementation of IStateful::start() method More...
 
StatusCode stop () override
 the default (empty) implementation of IStateful::stop() method More...
 
StatusCode finalize () override
 the default (empty) implementation of IStateful::finalize() method More...
 
StatusCode reinitialize () override
 the default (empty) implementation of IStateful::reinitialize() method More...
 
StatusCode restart () override
 the default (empty) implementation of IStateful::restart() method More...
 
Gaudi::StateMachine::State FSMState () const override
 returns the current state of the algorithm More...
 
Gaudi::StateMachine::State targetFSMState () const override
 returns the state the algorithm will be in after the ongoing transition More...
 
bool isExecuted () const override
 Has this algorithm been executed since the last reset? More...
 
void setExecuted (bool state) override
 Set the executed flag to the specified state. More...
 
void resetExecuted () override
 Reset the executed state of the Algorithm for the duration of the current event. More...
 
StatusCode beginRun () override
 Algorithm begin run. More...
 
StatusCode endRun () override
 Algorithm end run. This method is called at the end of the event loop. More...
 
bool isEnabled () const override
 Is this algorithm enabled or disabled? More...
 
bool filterPassed () const override
 Did this algorithm pass or fail its filter criterion for the last event? More...
 
void setFilterPassed (bool state) override
 Set the filter passed flag to the specified state. More...
 
int errorCount () const
 Get the number of failures of the algorithm. More...
 
template<class T >
StatusCode service (const std::string &name, T *&psvc, 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 &svcType, const std::string &svcName, T *&psvc) const
 Access a service by name and 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<class T >
SmartIF< T > service (const std::string &name, bool createIf=true, bool quiet=false) const
 
void setOutputLevel (int level)
 Set the output level for current algorithm. More...
 
SmartIF< IAuditorSvc > & auditorSvc () const
 The standard auditor service.May not be invoked before sysInitialize() has been invoked. More...
 
SmartIF< IChronoStatSvc > & chronoSvc () const
 The standard Chrono & Stat service, Return a pointer to the service if present. More...
 
SmartIF< IChronoStatSvc > & chronoStatService () const
 Obsoleted name, kept due to the backwards compatibility. More...
 
SmartIF< IDataProviderSvc > & detSvc () const
 The standard detector data service. More...
 
SmartIF< IDataProviderSvc > & detDataService () const
 Obsoleted name, kept due to the backwards compatibility. More...
 
SmartIF< IConversionSvc > & detCnvSvc () const
 The standard detector data persistency conversion service. More...
 
SmartIF< IConversionSvc > & detDataCnvService () const
 Obsoleted name, kept due to the backwards compatibility. More...
 
SmartIF< IDataProviderSvc > & eventSvc () const
 The standard event data service. More...
 
SmartIF< IDataProviderSvc > & evtSvc () const
 shortcut for method eventSvc More...
 
SmartIF< IDataProviderSvc > & eventDataService () const
 Obsoleted name, kept due to the backwards compatibility. More...
 
SmartIF< IConversionSvc > & eventCnvSvc () const
 The standard event data persistency conversion service. More...
 
SmartIF< IConversionSvc > & eventDataCnvService () const
 Obsoleted name, kept due to the backwards compatibility. More...
 
SmartIF< IHistogramSvc > & histoSvc () const
 The standard histogram service. More...
 
SmartIF< IHistogramSvc > & histogramDataService () const
 Obsoleted name, kept due to the backwards compatibility. More...
 
SmartIF< IMessageSvc > & msgSvc () const
 The standard message service. More...
 
SmartIF< IMessageSvc > & messageService () const
 Obsoleted name, kept due to the backwards compatibility. More...
 
SmartIF< INTupleSvc > & ntupleSvc () const
 The standard N tuple service. More...
 
SmartIF< INTupleSvc > & ntupleService () const
 Obsoleted name, kept due to the backwards compatibility. More...
 
SmartIF< IRndmGenSvc > & randSvc () const
 AIDA-based NTuple service Returns a pointer to the AIDATuple service if present. More...
 
SmartIF< IToolSvc > & toolSvc () const
 The standard ToolSvc service, Return a pointer to the service if present. More...
 
SmartIF< IExceptionSvc > & exceptionSvc () const
 Get the exception Service. More...
 
SmartIF< IAlgContextSvc > & contextSvc () const
 get Algorithm Context Service More...
 
SmartIF< ISvcLocator > & serviceLocator () const
 The standard service locator. More...
 
SmartIF< ISvcLocator > & svcLoc () const
 shortcut for method serviceLocator More...
 
bool registerContext () const
 register for Algorithm Context Service? More...
 
StatusCode createSubAlgorithm (const std::string &type, const std::string &name, Algorithm *&pSubAlg)
 Create a sub algorithm. More...
 
const std::vector< Algorithm * > * subAlgorithms () const
 List of sub-algorithms. Returns a pointer to a vector of (sub) Algorithms. More...
 
std::vector< Algorithm * > * subAlgorithms ()
 List of sub-algorithms. Returns a pointer to a vector of (sub) Algorithms. More...
 
StatusCode setProperty (const Property &p) override
 Implementation of IProperty::setProperty. More...
 
StatusCode setProperty (const std::string &s) override
 Implementation of IProperty::setProperty. More...
 
StatusCode setProperty (const std::string &n, const std::string &v) override
 Implementation of IProperty::setProperty. More...
 
StatusCode getProperty (Property *p) const override
 Implementation of IProperty::getProperty. More...
 
const PropertygetProperty (const std::string &name) const override
 Implementation of IProperty::getProperty. More...
 
StatusCode getProperty (const std::string &n, std::string &v) const override
 Implementation of IProperty::getProperty. More...
 
const std::vector< Property * > & getProperties () const override
 Implementation of IProperty::getProperties. More...
 
bool hasProperty (const std::string &name) const override
 Implementation of IProperty::hasProperty. More...
 
StatusCode setProperties ()
 Set the algorithm's properties. More...
 
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...
 
SmartIF< 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...
 
template<class TYPE >
StatusCode setProperty (const std::string &name, const TYPE &value)
 set the property form the value More...
 
 Algorithm (const std::string &name, ISvcLocator *svcloc, const std::string &version=PACKAGE_VERSION)
 Constructor. More...
 
 ~Algorithm () override=default
 Destructor. More...
 
StatusCode sysStart () override
 Reinitialization method invoked by the framework. More...
 
StatusCode sysInitialize () override
 Initialization method invoked by the framework. More...
 
StatusCode sysReinitialize () override
 Reinitialization method invoked by the framework. More...
 
StatusCode sysRestart () override
 Restart method invoked by the framework. More...
 
StatusCode sysExecute () override
 The actions to be performed by the algorithm on an event. More...
 
StatusCode sysStop () override
 System stop. More...
 
StatusCode sysFinalize () override
 System finalization. More...
 
StatusCode sysBeginRun () override
 beginRun method invoked by the framework. More...
 
StatusCode sysEndRun () override
 endRun method invoked by the framework. More...
 
const std::string & name () const override
 The identifying name of the algorithm object. More...
 
const std::string & version () const override
 
StatusCode configure () override
 Dummy implementation of IStateful::configure() method. More...
 
StatusCode terminate () override
 Dummy implementation of IStateful::terminate() method. More...
 
StatusCode initialize () override
 the default (empty) implementation of IStateful::initialize() method More...
 
StatusCode start () override
 the default (empty) implementation of IStateful::start() method More...
 
StatusCode stop () override
 the default (empty) implementation of IStateful::stop() method More...
 
StatusCode finalize () override
 the default (empty) implementation of IStateful::finalize() method More...
 
StatusCode reinitialize () override
 the default (empty) implementation of IStateful::reinitialize() method More...
 
StatusCode restart () override
 the default (empty) implementation of IStateful::restart() method More...
 
Gaudi::StateMachine::State FSMState () const override
 returns the current state of the algorithm More...
 
Gaudi::StateMachine::State targetFSMState () const override
 returns the state the algorithm will be in after the ongoing transition More...
 
bool isExecuted () const override
 Has this algorithm been executed since the last reset? More...
 
void setExecuted (bool state) override
 Set the executed flag to the specified state. More...
 
void resetExecuted () override
 Reset the executed state of the Algorithm for the duration of the current event. More...
 
StatusCode beginRun () override
 Algorithm begin run. More...
 
StatusCode endRun () override
 Algorithm end run. This method is called at the end of the event loop. More...
 
bool isEnabled () const override
 Is this algorithm enabled or disabled? More...
 
bool filterPassed () const override
 Did this algorithm pass or fail its filter criterion for the last event? More...
 
void setFilterPassed (bool state) override
 Set the filter passed flag to the specified state. More...
 
int errorCount () const
 Get the number of failures of the algorithm. More...
 
template<class T >
StatusCode service (const std::string &name, T *&psvc, 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 &svcType, const std::string &svcName, T *&psvc) const
 Access a service by name and 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<class T >
SmartIF< T > service (const std::string &name, bool createIf=true, bool quiet=false) const
 
void setOutputLevel (int level)
 Set the output level for current algorithm. More...
 
SmartIF< IAuditorSvc > & auditorSvc () const
 The standard auditor service.May not be invoked before sysInitialize() has been invoked. More...
 
SmartIF< IChronoStatSvc > & chronoSvc () const
 The standard Chrono & Stat service, Return a pointer to the service if present. More...
 
SmartIF< IChronoStatSvc > & chronoStatService () const
 Obsoleted name, kept due to the backwards compatibility. More...
 
SmartIF< IDataProviderSvc > & detSvc () const
 The standard detector data service. More...
 
SmartIF< IDataProviderSvc > & detDataService () const
 Obsoleted name, kept due to the backwards compatibility. More...
 
SmartIF< IConversionSvc > & detCnvSvc () const
 The standard detector data persistency conversion service. More...
 
SmartIF< IConversionSvc > & detDataCnvService () const
 Obsoleted name, kept due to the backwards compatibility. More...
 
SmartIF< IDataProviderSvc > & eventSvc () const
 The standard event data service. More...
 
SmartIF< IDataProviderSvc > & evtSvc () const
 shortcut for method eventSvc More...
 
SmartIF< IDataProviderSvc > & eventDataService () const
 Obsoleted name, kept due to the backwards compatibility. More...
 
SmartIF< IConversionSvc > & eventCnvSvc () const
 The standard event data persistency conversion service. More...
 
SmartIF< IConversionSvc > & eventDataCnvService () const
 Obsoleted name, kept due to the backwards compatibility. More...
 
SmartIF< IHistogramSvc > & histoSvc () const
 The standard histogram service. More...
 
SmartIF< IHistogramSvc > & histogramDataService () const
 Obsoleted name, kept due to the backwards compatibility. More...
 
SmartIF< IMessageSvc > & msgSvc () const
 The standard message service. More...
 
SmartIF< IMessageSvc > & messageService () const
 Obsoleted name, kept due to the backwards compatibility. More...
 
SmartIF< INTupleSvc > & ntupleSvc () const
 The standard N tuple service. More...
 
SmartIF< INTupleSvc > & ntupleService () const
 Obsoleted name, kept due to the backwards compatibility. More...
 
SmartIF< IRndmGenSvc > & randSvc () const
 AIDA-based NTuple service Returns a pointer to the AIDATuple service if present. More...
 
SmartIF< IToolSvc > & toolSvc () const
 The standard ToolSvc service, Return a pointer to the service if present. More...
 
SmartIF< IExceptionSvc > & exceptionSvc () const
 Get the exception Service. More...
 
SmartIF< IAlgContextSvc > & contextSvc () const
 get Algorithm Context Service More...
 
SmartIF< ISvcLocator > & serviceLocator () const
 The standard service locator. More...
 
SmartIF< ISvcLocator > & svcLoc () const
 shortcut for method serviceLocator More...
 
bool registerContext () const
 register for Algorithm Context Service? More...
 
StatusCode createSubAlgorithm (const std::string &type, const std::string &name, Algorithm *&pSubAlg)
 Create a sub algorithm. More...
 
const std::vector< Algorithm * > * subAlgorithms () const
 List of sub-algorithms. Returns a pointer to a vector of (sub) Algorithms. More...
 
std::vector< Algorithm * > * subAlgorithms ()
 List of sub-algorithms. Returns a pointer to a vector of (sub) Algorithms. More...
 
StatusCode setProperty (const Property &p) override
 Implementation of IProperty::setProperty. More...
 
StatusCode setProperty (const std::string &s) override
 Implementation of IProperty::setProperty. More...
 
StatusCode setProperty (const std::string &n, const std::string &v) override
 Implementation of IProperty::setProperty. More...
 
StatusCode getProperty (Property *p) const override
 Implementation of IProperty::getProperty. More...
 
const PropertygetProperty (const std::string &name) const override
 Implementation of IProperty::getProperty. More...
 
StatusCode getProperty (const std::string &n, std::string &v) const override
 Implementation of IProperty::getProperty. More...
 
const std::vector< Property * > & getProperties () const override
 Implementation of IProperty::getProperties. More...
 
bool hasProperty (const std::string &name) const override
 Implementation of IProperty::hasProperty. More...
 
StatusCode setProperties ()
 Set the algorithm's properties. More...
 
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...
 
SmartIF< 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...
 
template<class TYPE >
StatusCode setProperty (const std::string &name, const TYPE &value)
 set the property form the value 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

bool isInitialized () const override
 Has the Algorithm already been initialized? More...
 
bool isFinalized () const override
 Has the Algorithm already been finalized? More...
 
int outputLevel () const
 retrieve the Algorithm output level More...
 
IntegerPropertyoutputLevelProperty ()
 Accessor for the Message level property. More...
 
void initOutputLevel (Property &prop)
 callback for output level property More...
 
bool isInitialized () const override
 Has the Algorithm already been initialized? More...
 
bool isFinalized () const override
 Has the Algorithm already been finalized? More...
 
int outputLevel () const
 retrieve the Algorithm output level More...
 
IntegerPropertyoutputLevelProperty ()
 Accessor for the Message level property. More...
 
void initOutputLevel (Property &prop)
 callback for output level property More...
 

Private Member Functions

StatusCode service_i (const std::string &svcName, 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 **ppSvc) const
 
 Algorithm (const Algorithm &a)
 Private Copy constructor: NO COPY ALLOWED. More...
 
Algorithmoperator= (const Algorithm &rhs)
 Private assignment operator: NO ASSIGNMENT ALLOWED. More...
 
StatusCode service_i (const std::string &svcName, 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 **ppSvc) const
 
 Algorithm (const Algorithm &a)
 Private Copy constructor: NO COPY ALLOWED. More...
 
Algorithmoperator= (const Algorithm &rhs)
 Private assignment operator: NO ASSIGNMENT ALLOWED. More...
 

Private Attributes

std::string m_name
 Algorithm's name for identification. More...
 
std::string m_version
 Algorithm's version. More...
 
std::vector< Algorithm * > m_subAlgms
 Sub algorithms. More...
 
SmartIF< IMessageSvcm_MS
 Message service. More...
 
SmartIF< IDataProviderSvcm_EDS
 Event data service. More...
 
SmartIF< IConversionSvcm_ECS
 Event conversion service. More...
 
SmartIF< IDataProviderSvcm_DDS
 Detector data service. More...
 
SmartIF< IConversionSvcm_DCS
 Detector conversion service. More...
 
SmartIF< IHistogramSvcm_HDS
 Histogram data service. More...
 
SmartIF< INTupleSvcm_NTS
 N tuple service. More...
 
SmartIF< IChronoStatSvcm_CSS
 Chrono & Stat Service. More...
 
SmartIF< IRndmGenSvcm_RGS
 Random Number Generator Service. More...
 
SmartIF< IExceptionSvcm_EXS
 Exception Handler Service. More...
 
SmartIF< IAuditorSvcm_pAuditorSvc
 Auditor Service. More...
 
SmartIF< IToolSvcm_ptoolSvc
 ToolSvc Service. More...
 
SmartIF< IMonitorSvcm_pMonitorSvc
 Online Monitoring Service. More...
 
SmartIF< IAlgContextSvcm_contextSvc
 Algorithm Context Service. More...
 
bool m_registerContext = false
 flag to register for Algorithm Context Service More...
 
std::string m_monitorSvcName
 Name to use for Monitor Service. More...
 
SmartIF< ISvcLocatorm_pSvcLocator
 Pointer to service locator service. More...
 
SmartIF< PropertyMgrm_propertyMgr
 For management of properties. More...
 
IntegerProperty m_outputLevel
 Algorithm output level. More...
 
int m_errorMax
 Algorithm Max number of errors. More...
 
int m_errorCount
 Algorithm error counter. More...
 
BooleanProperty m_auditInit
 global flag for auditors More...
 
bool m_auditorInitialize
 flag for auditors in "initialize()" More...
 
bool m_auditorReinitialize
 flag for auditors in "Reinitialize()" More...
 
bool m_auditorRestart
 flag for auditors in "Restart()" More...
 
bool m_auditorExecute
 flag for auditors in "execute()" More...
 
bool m_auditorFinalize
 flag for auditors in "finalize()" More...
 
bool m_auditorBeginRun
 flag for auditors in "beginRun()" More...
 
bool m_auditorEndRun
 flag for auditors in "endRun()" More...
 
bool m_auditorStart
 flag for auditors in "initialize()" More...
 
bool m_auditorStop
 flag for auditors in "Reinitialize()" More...
 
bool m_filterPassed = true
 Filter passed flag. More...
 
bool m_isEnabled = true
 Algorithm is enabled flag. More...
 
bool m_isExecuted = false
 Algorithm is executed flag. More...
 
Gaudi::StateMachine::State m_state = Gaudi::StateMachine::CONFIGURED
 Algorithm has been initialized flag. More...
 
Gaudi::StateMachine::State m_targetState = Gaudi::StateMachine::CONFIGURED
 Algorithm has been initialized flag. More...
 
bool m_isFinalized
 Algorithm has been finalized flag. More...
 

Additional Inherited Members

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

Detailed Description

Base class from which all concrete algorithm classes should be derived.

In order for a concrete algorithm class to do anything useful the methods initialize(), execute() and finalize() should be overridden.

The base class provides utility methods for accessing standard services (event data service etc.); for declaring properties which may be configured by the job options service; and for creating sub algorithms. The only base class functionality which may be used in the constructor of a concrete algorithm is the declaration of member variables as properties. All other functionality, i.e. the use of services and the creation of sub-algorithms, may be used only in initialize() and afterwards (see the Gaudi user guide).

Author
Paul Maley
Pere Mato
David Quarrie
Date
1998

Definition at line 61 of file Algorithm.h.

Member Typedef Documentation

Definition at line 66 of file Algorithm.h.

Definition at line 66 of file Algorithm.h.

Constructor & Destructor Documentation

Algorithm::Algorithm ( const std::string &  name,
ISvcLocator svcloc,
const std::string &  version = PACKAGE_VERSION 
)

Constructor.

Parameters
nameThe algorithm object's name
svclocA pointer to a service location service

Definition at line 36 of file Algorithm.cpp.

38  { PyErr_Print() ; return sc ; } // RETURN
39 
40  if ( PyInt_Check ( r ) )
41  { sc = PyInt_AS_LONG( r ) ; Py_DECREF( r ) ; return sc ; } // RETURN
42 
43  // look for the method getCode with the signature:
44  // ' int getCode() '
45  PyObject* c = PyObject_CallMethod(r, chr("getCode"), nullptr);
46 
47  if ( !c ) { PyErr_Print() ; }
48  else if ( PyLong_Check( c )) { sc = PyLong_AsLong( c ); }
49  else
50  {
51  std::string msg( " call_python_method unexpected type from '" );
52  msg += method ;
53  msg += "().getCode()' " ;
54  PyErr_SetString( PyExc_TypeError , msg.c_str() ) ;
55  PyErr_Print() ;
56  }
57  // release used objects
58  Py_XDECREF( c ) ;
59  Py_XDECREF( r ) ;
60  //
61  return sc;
62 }
63 // ============================================================================
64 
65 // ============================================================================
70 // ============================================================================
72 ( PyObject* self ,
73  const std::string& name )
74  : Algorithm ( name , Gaudi::svcLocator() )
75  , m_self ( self )
76 {
77  // The owner of the Algorithm is Python (as creator) therefore
78  // it should not be deleted by Gaudi (added an extra addRef()).
79  addRef() ;
80  addRef() ;
81 }
82 // ============================================================================
83 
84 // ============================================================================
tuple c
Definition: gaudirun.py:392
PyAlgorithm(PyObject *self, const std::string &name)
constructor
Definition: Algorithm.cpp:72
const std::string & name() const override
The identifying name of the algorithm object.
Definition: Algorithm.cpp:792
GAUDI_API ISvcLocator * svcLocator()
unsigned long addRef() override
Reference Interface instance.
Definition: implements.h:43
Base class from which all concrete algorithm classes should be derived.
Definition: Algorithm.h:61
Helper functions to set/get the application return code.
Definition: __init__.py:1
Algorithm::~Algorithm ( )
overridedefault

Destructor.

Algorithm::Algorithm ( const Algorithm a)
private

Private Copy constructor: NO COPY ALLOWED.

Algorithm::Algorithm ( const std::string &  name,
ISvcLocator svcloc,
const std::string &  version = PACKAGE_VERSION 
)

Constructor.

Parameters
nameThe algorithm object's name
svclocA pointer to a service location service
Algorithm::~Algorithm ( )
overridedefault

Destructor.

Algorithm::Algorithm ( const Algorithm a)
private

Private Copy constructor: NO COPY ALLOWED.

Member Function Documentation

SmartIF<IAuditorSvc>& Algorithm::auditorSvc ( ) const

The standard auditor service.May not be invoked before sysInitialize() has been invoked.

SmartIF<IAuditorSvc>& Algorithm::auditorSvc ( ) const

The standard auditor service.May not be invoked before sysInitialize() has been invoked.

StatusCode Algorithm::beginRun ( )
override

Algorithm begin run.

This method is called at the beginning of the event loop.

Definition at line 469 of file Algorithm.cpp.

StatusCode Algorithm::beginRun ( )
override

Algorithm begin run.

This method is called at the beginning of the event loop.

SmartIF< IChronoStatSvc > & Algorithm::chronoStatService ( ) const

Obsoleted name, kept due to the backwards compatibility.

Definition at line 879 of file Algorithm.cpp.

SmartIF<IChronoStatSvc>& Algorithm::chronoStatService ( ) const

Obsoleted name, kept due to the backwards compatibility.

SmartIF<IChronoStatSvc>& Algorithm::chronoSvc ( ) const

The standard Chrono & Stat service, Return a pointer to the service if present.

SmartIF<IChronoStatSvc>& Algorithm::chronoSvc ( ) const

The standard Chrono & Stat service, Return a pointer to the service if present.

StatusCode Algorithm::configure ( )
inlineoverride

Dummy implementation of IStateful::configure() method.

Definition at line 152 of file Algorithm.h.

StatusCode Algorithm::configure ( )
inlineoverride

Dummy implementation of IStateful::configure() method.

Definition at line 152 of file Algorithm.h.

SmartIF<IAlgContextSvc>& Algorithm::contextSvc ( ) const

get Algorithm Context Service

SmartIF<IAlgContextSvc>& Algorithm::contextSvc ( ) const

get Algorithm Context Service

StatusCode Algorithm::createSubAlgorithm ( const std::string &  type,
const std::string &  name,
Algorithm *&  pSubAlg 
)

Create a sub algorithm.

A call to this method creates a child algorithm object. Note that the returned pointer is to Algorithm (as opposed to IAlgorithm), and thus the methods of IProperty are also available for the direct setting of the sub-algorithm's properties. Using this mechanism instead of creating daughter algorithms directly via the new operator is prefered since then the framework may take care of all of the necessary book-keeping.

Parameters
typeThe concrete algorithm class of the sub algorithm
nameThe name to be given to the sub algorithm
pSubAlgSet to point to the newly created algorithm object
StatusCode Algorithm::createSubAlgorithm ( const std::string &  type,
const std::string &  name,
Algorithm *&  pSubAlg 
)

Create a sub algorithm.

A call to this method creates a child algorithm object. Note that the returned pointer is to Algorithm (as opposed to IAlgorithm), and thus the methods of IProperty are also available for the direct setting of the sub-algorithm's properties. Using this mechanism instead of creating daughter algorithms directly via the new operator is prefered since then the framework may take care of all of the necessary book-keeping.

Parameters
typeThe concrete algorithm class of the sub algorithm
nameThe name to be given to the sub algorithm
pSubAlgSet to point to the newly created algorithm object

Definition at line 936 of file Algorithm.cpp.

template<class T >
void Algorithm::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 448 of file Algorithm.h.

451  {
452  IMonitorSvc* mS = monitorSvc().get();
453  if ( mS ) mS->declareInfo(name, var, desc, this);
454  }
const std::string & name() const override
The identifying name of the algorithm object.
Definition: Algorithm.cpp:792
TYPE * get() const
Get interface pointer.
Definition: SmartIF.h:76
Definition of the IMonitorSvc interface, which publishes Gaudi variables to outside monitoring proces...
Definition: IMonitorSvc.h:21
SmartIF< IMonitorSvc > & monitorSvc() const
Access the monitor service.
Definition: Algorithm.h:433
virtual void declareInfo(const std::string &name, const bool &var, const std::string &desc, const IInterface *owner)=0
Declare monitoring information.
template<class T >
void Algorithm::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 448 of file Algorithm.h.

451  {
452  IMonitorSvc* mS = monitorSvc().get();
453  if ( mS ) mS->declareInfo(name, var, desc, this);
454  }
const std::string & name() const override
The identifying name of the algorithm object.
Definition: Algorithm.cpp:792
TYPE * get() const
Get interface pointer.
Definition: SmartIF.h:76
Definition of the IMonitorSvc interface, which publishes Gaudi variables to outside monitoring proces...
Definition: IMonitorSvc.h:21
SmartIF< IMonitorSvc > & monitorSvc() const
Access the monitor service.
Definition: Algorithm.h:433
virtual void declareInfo(const std::string &name, const bool &var, const std::string &desc, const IInterface *owner)=0
Declare monitoring information.
void Algorithm::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 463 of file Algorithm.h.

468  {
469  IMonitorSvc* mS = monitorSvc().get();
470  if ( mS ) mS->declareInfo(name, format, var, size, desc, this);
471  }
const std::string & name() const override
The identifying name of the algorithm object.
Definition: Algorithm.cpp:792
TYPE * get() const
Get interface pointer.
Definition: SmartIF.h:76
Definition of the IMonitorSvc interface, which publishes Gaudi variables to outside monitoring proces...
Definition: IMonitorSvc.h:21
SmartIF< IMonitorSvc > & monitorSvc() const
Access the monitor service.
Definition: Algorithm.h:433
virtual void declareInfo(const std::string &name, const bool &var, const std::string &desc, const IInterface *owner)=0
Declare monitoring information.
GAUDI_API std::string format(const char *,...)
MsgStream format utility "a la sprintf(...)".
Definition: MsgStream.cpp:120
void Algorithm::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 463 of file Algorithm.h.

468  {
469  IMonitorSvc* mS = monitorSvc().get();
470  if ( mS ) mS->declareInfo(name, format, var, size, desc, this);
471  }
const std::string & name() const override
The identifying name of the algorithm object.
Definition: Algorithm.cpp:792
TYPE * get() const
Get interface pointer.
Definition: SmartIF.h:76
Definition of the IMonitorSvc interface, which publishes Gaudi variables to outside monitoring proces...
Definition: IMonitorSvc.h:21
SmartIF< IMonitorSvc > & monitorSvc() const
Access the monitor service.
Definition: Algorithm.h:433
virtual void declareInfo(const std::string &name, const bool &var, const std::string &desc, const IInterface *owner)=0
Declare monitoring information.
GAUDI_API std::string format(const char *,...)
MsgStream format utility "a la sprintf(...)".
Definition: MsgStream.cpp:120
template<class T >
Property* Algorithm::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
) const
inline

Declare the named property.

MyAlg ( const std::string& name ,
ISvcLocator* pSvc )
: Algorithm ( 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( &MyAlg::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 408 of file Algorithm.h.

411  {
412  return m_propertyMgr->declareProperty(name, property, doc);
413  }
const std::string & name() const override
The identifying name of the algorithm object.
Definition: Algorithm.cpp:792
Property * declareProperty(const std::string &name, TYPE &value, const std::string &doc="none")
Declare a property (templated)
Definition: PropertyMgr.h:177
SmartIF< PropertyMgr > m_propertyMgr
For management of properties.
Definition: Algorithm.h:565
template<class T >
Property* Algorithm::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
) const
inline

Declare the named property.

MyAlg ( const std::string& name ,
ISvcLocator* pSvc )
: Algorithm ( 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( &MyAlg::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 408 of file Algorithm.h.

411  {
412  return m_propertyMgr->declareProperty(name, property, doc);
413  }
const std::string & name() const override
The identifying name of the algorithm object.
Definition: Algorithm.cpp:792
Property * declareProperty(const std::string &name, TYPE &value, const std::string &doc="none")
Declare a property (templated)
Definition: PropertyMgr.h:177
SmartIF< PropertyMgr > m_propertyMgr
For management of properties.
Definition: Algorithm.h:565
Property* Algorithm::declareRemoteProperty ( const std::string &  name,
IProperty rsvc,
const std::string &  rname = "" 
) const
inline

Declare remote named properties.

Definition at line 417 of file Algorithm.h.

420  {
421  return m_propertyMgr -> declareRemoteProperty ( name , rsvc , rname );
422  }
const std::string & name() const override
The identifying name of the algorithm object.
Definition: Algorithm.cpp:792
SmartIF< PropertyMgr > m_propertyMgr
For management of properties.
Definition: Algorithm.h:565
Property * declareRemoteProperty(const std::string &name, IProperty *rsvc, const std::string &rname="") const
Declare remote named properties.
Definition: Algorithm.h:417
Property* Algorithm::declareRemoteProperty ( const std::string &  name,
IProperty rsvc,
const std::string &  rname = "" 
) const
inline

Declare remote named properties.

Definition at line 417 of file Algorithm.h.

420  {
421  return m_propertyMgr -> declareRemoteProperty ( name , rsvc , rname );
422  }
const std::string & name() const override
The identifying name of the algorithm object.
Definition: Algorithm.cpp:792
SmartIF< PropertyMgr > m_propertyMgr
For management of properties.
Definition: Algorithm.h:565
Property * declareRemoteProperty(const std::string &name, IProperty *rsvc, const std::string &rname="") const
Declare remote named properties.
Definition: Algorithm.h:417
SmartIF<IConversionSvc>& Algorithm::detCnvSvc ( ) const

The standard detector data persistency conversion service.

May not be invoked before sysInitialize() has been invoked.

SmartIF<IConversionSvc>& Algorithm::detCnvSvc ( ) const

The standard detector data persistency conversion service.

May not be invoked before sysInitialize() has been invoked.

SmartIF<IConversionSvc>& Algorithm::detDataCnvService ( ) const

Obsoleted name, kept due to the backwards compatibility.

SmartIF< IConversionSvc > & Algorithm::detDataCnvService ( ) const

Obsoleted name, kept due to the backwards compatibility.

Definition at line 887 of file Algorithm.cpp.

SmartIF< IDataProviderSvc > & Algorithm::detDataService ( ) const

Obsoleted name, kept due to the backwards compatibility.

Definition at line 883 of file Algorithm.cpp.

SmartIF<IDataProviderSvc>& Algorithm::detDataService ( ) const

Obsoleted name, kept due to the backwards compatibility.

SmartIF<IDataProviderSvc>& Algorithm::detSvc ( ) const

The standard detector data service.

May not be invoked before sysInitialize() has been invoked.

SmartIF<IDataProviderSvc>& Algorithm::detSvc ( ) const

The standard detector data service.

May not be invoked before sysInitialize() has been invoked.

StatusCode Algorithm::endRun ( )
override

Algorithm end run. This method is called at the end of the event loop.

Definition at line 540 of file Algorithm.cpp.

StatusCode Algorithm::endRun ( )
override

Algorithm end run. This method is called at the end of the event loop.

int Algorithm::errorCount ( ) const
inline

Get the number of failures of the algorithm.

Definition at line 203 of file Algorithm.h.

203 { return m_errorCount; }
int m_errorCount
Algorithm error counter.
Definition: Algorithm.h:568
int Algorithm::errorCount ( ) const
inline

Get the number of failures of the algorithm.

Definition at line 203 of file Algorithm.h.

203 { return m_errorCount; }
int m_errorCount
Algorithm error counter.
Definition: Algorithm.h:568
SmartIF<IConversionSvc>& Algorithm::eventCnvSvc ( ) const

The standard event data persistency conversion service.

May not be invoked before sysInitialize() has been invoked.

SmartIF<IConversionSvc>& Algorithm::eventCnvSvc ( ) const

The standard event data persistency conversion service.

May not be invoked before sysInitialize() has been invoked.

SmartIF<IConversionSvc>& Algorithm::eventDataCnvService ( ) const

Obsoleted name, kept due to the backwards compatibility.

SmartIF< IConversionSvc > & Algorithm::eventDataCnvService ( ) const

Obsoleted name, kept due to the backwards compatibility.

Definition at line 895 of file Algorithm.cpp.

SmartIF<IDataProviderSvc>& Algorithm::eventDataService ( ) const

Obsoleted name, kept due to the backwards compatibility.

SmartIF< IDataProviderSvc > & Algorithm::eventDataService ( ) const

Obsoleted name, kept due to the backwards compatibility.

Definition at line 891 of file Algorithm.cpp.

SmartIF<IDataProviderSvc>& Algorithm::eventSvc ( ) const

The standard event data service.

May not be invoked before sysInitialize() has been invoked.

SmartIF<IDataProviderSvc>& Algorithm::eventSvc ( ) const

The standard event data service.

May not be invoked before sysInitialize() has been invoked.

SmartIF<IDataProviderSvc>& Algorithm::evtSvc ( ) const
inline

shortcut for method eventSvc

Definition at line 263 of file Algorithm.h.

263 { return eventSvc() ; }
SmartIF< IDataProviderSvc > & eventSvc() const
The standard event data service.
SmartIF<IDataProviderSvc>& Algorithm::evtSvc ( ) const
inline

shortcut for method eventSvc

Definition at line 263 of file Algorithm.h.

263 { return eventSvc() ; }
SmartIF< IDataProviderSvc > & eventSvc() const
The standard event data service.
SmartIF<IExceptionSvc>& Algorithm::exceptionSvc ( ) const

Get the exception Service.

SmartIF<IExceptionSvc>& Algorithm::exceptionSvc ( ) const

Get the exception Service.

bool Algorithm::filterPassed ( ) const
override

Did this algorithm pass or fail its filter criterion for the last event?

bool Algorithm::filterPassed ( ) const
override

Did this algorithm pass or fail its filter criterion for the last event?

Definition at line 817 of file Algorithm.cpp.

StatusCode Algorithm::finalize ( )
inlineoverride

the default (empty) implementation of IStateful::finalize() method

Definition at line 163 of file Algorithm.h.

StatusCode Algorithm::finalize ( )
inlineoverride

the default (empty) implementation of IStateful::finalize() method

Definition at line 163 of file Algorithm.h.

Gaudi::StateMachine::State Algorithm::FSMState ( ) const
inlineoverride

returns the current state of the algorithm

Definition at line 169 of file Algorithm.h.

169 { return m_state; }
Gaudi::StateMachine::State m_state
Algorithm has been initialized flag.
Definition: Algorithm.h:582
Gaudi::StateMachine::State Algorithm::FSMState ( ) const
inlineoverride

returns the current state of the algorithm

Definition at line 169 of file Algorithm.h.

169 { return m_state; }
Gaudi::StateMachine::State m_state
Algorithm has been initialized flag.
Definition: Algorithm.h:582
const std::vector< Property * > & Algorithm::getProperties ( ) const
override

Implementation of IProperty::getProperties.

Definition at line 979 of file Algorithm.cpp.

const std::vector<Property*>& Algorithm::getProperties ( ) const
override

Implementation of IProperty::getProperties.

StatusCode Algorithm::getProperty ( Property p) const
override

Implementation of IProperty::getProperty.

Definition at line 970 of file Algorithm.cpp.

StatusCode Algorithm::getProperty ( Property p) const
override

Implementation of IProperty::getProperty.

const Property & Algorithm::getProperty ( const std::string &  name) const
override

Implementation of IProperty::getProperty.

Definition at line 973 of file Algorithm.cpp.

const Property& Algorithm::getProperty ( const std::string &  name) const
override

Implementation of IProperty::getProperty.

StatusCode Algorithm::getProperty ( const std::string &  n,
std::string &  v 
) const
override

Implementation of IProperty::getProperty.

Definition at line 976 of file Algorithm.cpp.

StatusCode Algorithm::getProperty ( const std::string &  n,
std::string &  v 
) const
override

Implementation of IProperty::getProperty.

bool Algorithm::hasProperty ( const std::string &  name) const
override

Implementation of IProperty::hasProperty.

bool Algorithm::hasProperty ( const std::string &  name) const
override

Implementation of IProperty::hasProperty.

Definition at line 982 of file Algorithm.cpp.

SmartIF<IHistogramSvc>& Algorithm::histogramDataService ( ) const

Obsoleted name, kept due to the backwards compatibility.

SmartIF< IHistogramSvc > & Algorithm::histogramDataService ( ) const

Obsoleted name, kept due to the backwards compatibility.

Definition at line 899 of file Algorithm.cpp.

SmartIF<IHistogramSvc>& Algorithm::histoSvc ( ) const

The standard histogram service.

May not be invoked before sysInitialize() has been invoked.

SmartIF<IHistogramSvc>& Algorithm::histoSvc ( ) const

The standard histogram service.

May not be invoked before sysInitialize() has been invoked.

StatusCode Algorithm::initialize ( )
inlineoverride

the default (empty) implementation of IStateful::initialize() method

Definition at line 157 of file Algorithm.h.

StatusCode Algorithm::initialize ( )
inlineoverride

the default (empty) implementation of IStateful::initialize() method

Definition at line 157 of file Algorithm.h.

void Algorithm::initOutputLevel ( Property prop)
protected

callback for output level property

Protected Member Functions.

Definition at line 990 of file Algorithm.cpp.

void Algorithm::initOutputLevel ( Property prop)
protected

callback for output level property

bool Algorithm::isEnabled ( ) const
override

Is this algorithm enabled or disabled?

Definition at line 813 of file Algorithm.cpp.

bool Algorithm::isEnabled ( ) const
override

Is this algorithm enabled or disabled?

bool Algorithm::isExecuted ( ) const
override

Has this algorithm been executed since the last reset?

Definition at line 800 of file Algorithm.cpp.

bool Algorithm::isExecuted ( ) const
override

Has this algorithm been executed since the last reset?

bool Algorithm::isFinalized ( ) const
inlineoverrideprotected

Has the Algorithm already been finalized?

Definition at line 529 of file Algorithm.h.

Gaudi::StateMachine::State m_state
Algorithm has been initialized flag.
Definition: Algorithm.h:582
bool Algorithm::isFinalized ( ) const
inlineoverrideprotected

Has the Algorithm already been finalized?

Definition at line 529 of file Algorithm.h.

Gaudi::StateMachine::State m_state
Algorithm has been initialized flag.
Definition: Algorithm.h:582
bool Algorithm::isInitialized ( ) const
inlineoverrideprotected

Has the Algorithm already been initialized?

Definition at line 526 of file Algorithm.h.

Gaudi::StateMachine::State m_state
Algorithm has been initialized flag.
Definition: Algorithm.h:582
bool Algorithm::isInitialized ( ) const
inlineoverrideprotected

Has the Algorithm already been initialized?

Definition at line 526 of file Algorithm.h.

Gaudi::StateMachine::State m_state
Algorithm has been initialized flag.
Definition: Algorithm.h:582
SmartIF<IMessageSvc>& Algorithm::messageService ( ) const

Obsoleted name, kept due to the backwards compatibility.

SmartIF< IMessageSvc > & Algorithm::messageService ( ) const

Obsoleted name, kept due to the backwards compatibility.

Definition at line 903 of file Algorithm.cpp.

SmartIF<IMonitorSvc>& Algorithm::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 433 of file Algorithm.h.

434  {
435  // If not already located try to locate it without forcing a creation
436  if ( !m_pMonitorSvc ){
437  m_pMonitorSvc = service(m_monitorSvcName, false, true); // do not create and be quiet
438  }
439  return m_pMonitorSvc;
440  }
SmartIF< IMonitorSvc > m_pMonitorSvc
Online Monitoring Service.
Definition: Algorithm.h:560
StatusCode service(const std::string &name, T *&psvc, bool createIf=true) const
Access a service by name, creating it if it doesn't already exist.
Definition: Algorithm.h:208
std::string m_monitorSvcName
Name to use for Monitor Service.
Definition: Algorithm.h:563
SmartIF<IMonitorSvc>& Algorithm::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 433 of file Algorithm.h.

434  {
435  // If not already located try to locate it without forcing a creation
436  if ( !m_pMonitorSvc ){
437  m_pMonitorSvc = service(m_monitorSvcName, false, true); // do not create and be quiet
438  }
439  return m_pMonitorSvc;
440  }
SmartIF< IMonitorSvc > m_pMonitorSvc
Online Monitoring Service.
Definition: Algorithm.h:560
StatusCode service(const std::string &name, T *&psvc, bool createIf=true) const
Access a service by name, creating it if it doesn't already exist.
Definition: Algorithm.h:208
std::string m_monitorSvcName
Name to use for Monitor Service.
Definition: Algorithm.h:563
SmartIF<IMessageSvc>& Algorithm::msgSvc ( ) const

The standard message service.

Returns a pointer to the standard message service. May not be invoked before sysInitialize() has been invoked.

m_CSS m_DCS m_ECS m_EXS m_RGS m_contextSvc SmartIF< IMessageSvc > & Algorithm::msgSvc ( ) const

The standard message service.

Returns a pointer to the standard message service. May not be invoked before sysInitialize() has been invoked.

Definition at line 867 of file Algorithm.cpp.

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

The identifying name of the algorithm object.

This is the name of a particular instantiation of an algorithm object as opposed to the name of the algorithm itself, e.g. "LinearTrackFit" may be the name of a concrete algorithm class, whereas "ApproxTrackFit" and "BestTrackFit" may be two instantiations of the class configured to find tracks with different fit criteria.

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

The identifying name of the algorithm object.

This is the name of a particular instantiation of an algorithm object as opposed to the name of the algorithm itself, e.g. "LinearTrackFit" may be the name of a concrete algorithm class, whereas "ApproxTrackFit" and "BestTrackFit" may be two instantiations of the class configured to find tracks with different fit criteria.

Definition at line 792 of file Algorithm.cpp.

SmartIF<INTupleSvc>& Algorithm::ntupleService ( ) const

Obsoleted name, kept due to the backwards compatibility.

SmartIF< INTupleSvc > & Algorithm::ntupleService ( ) const

Obsoleted name, kept due to the backwards compatibility.

Definition at line 907 of file Algorithm.cpp.

SmartIF<INTupleSvc>& Algorithm::ntupleSvc ( ) const

The standard N tuple service.

Returns a pointer to the N tuple service if present.

SmartIF<INTupleSvc>& Algorithm::ntupleSvc ( ) const

The standard N tuple service.

Returns a pointer to the N tuple service if present.

Algorithm& Algorithm::operator= ( const Algorithm rhs)
private

Private assignment operator: NO ASSIGNMENT ALLOWED.

Algorithm& Algorithm::operator= ( const Algorithm rhs)
private

Private assignment operator: NO ASSIGNMENT ALLOWED.

int Algorithm::outputLevel ( ) const
inlineprotected

retrieve the Algorithm output level

Definition at line 532 of file Algorithm.h.

532 { return (int)m_outputLevel ; }
IntegerProperty m_outputLevel
Algorithm output level.
Definition: Algorithm.h:566
int Algorithm::outputLevel ( ) const
inlineprotected

retrieve the Algorithm output level

Definition at line 532 of file Algorithm.h.

532 { return (int)m_outputLevel ; }
IntegerProperty m_outputLevel
Algorithm output level.
Definition: Algorithm.h:566
IntegerProperty& Algorithm::outputLevelProperty ( )
inlineprotected

Accessor for the Message level property.

Definition at line 535 of file Algorithm.h.

535 { return m_outputLevel; }
IntegerProperty m_outputLevel
Algorithm output level.
Definition: Algorithm.h:566
IntegerProperty& Algorithm::outputLevelProperty ( )
inlineprotected

Accessor for the Message level property.

Definition at line 535 of file Algorithm.h.

535 { return m_outputLevel; }
IntegerProperty m_outputLevel
Algorithm output level.
Definition: Algorithm.h:566
SmartIF<IRndmGenSvc>& Algorithm::randSvc ( ) const

AIDA-based NTuple service Returns a pointer to the AIDATuple service if present.

The standard RandomGen service, Return a pointer to the service if present

SmartIF<IRndmGenSvc>& Algorithm::randSvc ( ) const

AIDA-based NTuple service Returns a pointer to the AIDATuple service if present.

The standard RandomGen service, Return a pointer to the service if present

bool Algorithm::registerContext ( ) const
inline

register for Algorithm Context Service?

Definition at line 328 of file Algorithm.h.

328 { return m_registerContext ; }
bool m_registerContext
flag to register for Algorithm Context Service
Definition: Algorithm.h:562
bool Algorithm::registerContext ( ) const
inline

register for Algorithm Context Service?

Definition at line 328 of file Algorithm.h.

328 { return m_registerContext ; }
bool m_registerContext
flag to register for Algorithm Context Service
Definition: Algorithm.h:562
StatusCode Algorithm::reinitialize ( )
override

the default (empty) implementation of IStateful::reinitialize() method

Definition at line 753 of file Algorithm.cpp.

StatusCode Algorithm::reinitialize ( )
override

the default (empty) implementation of IStateful::reinitialize() method

void Algorithm::resetExecuted ( )
override

Reset the executed state of the Algorithm for the duration of the current event.

void Algorithm::resetExecuted ( )
override

Reset the executed state of the Algorithm for the duration of the current event.

Definition at line 808 of file Algorithm.cpp.

StatusCode Algorithm::restart ( )
override

the default (empty) implementation of IStateful::restart() method

Definition at line 775 of file Algorithm.cpp.

StatusCode Algorithm::restart ( )
override

the default (empty) implementation of IStateful::restart() method

template<class T >
StatusCode Algorithm::service ( const std::string &  name,
T *&  psvc,
bool  createIf = true 
) const
inline

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

Definition at line 208 of file Algorithm.h.

208  {
209  return service_i(name, createIf, T::interfaceID(), (void**)&psvc);
210  }
StatusCode service_i(const std::string &svcName, bool createIf, const InterfaceID &iid, void **ppSvc) const
implementation of service method
Definition: Algorithm.cpp:996
const std::string & name() const override
The identifying name of the algorithm object.
Definition: Algorithm.cpp:792
template<class T >
StatusCode Algorithm::service ( const std::string &  name,
T *&  psvc,
bool  createIf = true 
) const
inline

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

Definition at line 208 of file Algorithm.h.

208  {
209  return service_i(name, createIf, T::interfaceID(), (void**)&psvc);
210  }
StatusCode service_i(const std::string &svcName, bool createIf, const InterfaceID &iid, void **ppSvc) const
implementation of service method
Definition: Algorithm.cpp:996
const std::string & name() const override
The identifying name of the algorithm object.
Definition: Algorithm.cpp:792
template<class T >
StatusCode Algorithm::service ( const std::string &  svcType,
const std::string &  svcName,
T *&  psvc 
) const
inline

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

Definition at line 214 of file Algorithm.h.

215  {
216  return service_i(svcType, svcName, T::interfaceID(), (void**)&psvc);
217  }
StatusCode service_i(const std::string &svcName, bool createIf, const InterfaceID &iid, void **ppSvc) const
implementation of service method
Definition: Algorithm.cpp:996
template<class T >
StatusCode Algorithm::service ( const std::string &  svcType,
const std::string &  svcName,
T *&  psvc 
) const
inline

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

Definition at line 214 of file Algorithm.h.

215  {
216  return service_i(svcType, svcName, T::interfaceID(), (void**)&psvc);
217  }
StatusCode service_i(const std::string &svcName, bool createIf, const InterfaceID &iid, void **ppSvc) const
implementation of service method
Definition: Algorithm.cpp:996
SmartIF<IService> Algorithm::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")

SmartIF< IService > Algorithm::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 1013 of file Algorithm.cpp.

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

Definition at line 223 of file Algorithm.h.

223  {
224  return service(name,createIf,quiet).as<T>();
225  }
const std::string & name() const override
The identifying name of the algorithm object.
Definition: Algorithm.cpp:792
StatusCode service(const std::string &name, T *&psvc, bool createIf=true) const
Access a service by name, creating it if it doesn't already exist.
Definition: Algorithm.h:208
template<class T >
SmartIF<T> Algorithm::service ( const std::string &  name,
bool  createIf = true,
bool  quiet = false 
) const
inline

Definition at line 223 of file Algorithm.h.

223  {
224  return service(name,createIf,quiet).as<T>();
225  }
const std::string & name() const override
The identifying name of the algorithm object.
Definition: Algorithm.cpp:792
StatusCode service(const std::string &name, T *&psvc, bool createIf=true) const
Access a service by name, creating it if it doesn't already exist.
Definition: Algorithm.h:208
StatusCode Algorithm::service_i ( const std::string &  svcName,
bool  createIf,
const InterfaceID iid,
void **  ppSvc 
) const
private

implementation of service method

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

implementation of service method

Definition at line 996 of file Algorithm.cpp.

StatusCode Algorithm::service_i ( const std::string &  svcType,
const std::string &  svcName,
const InterfaceID iid,
void **  ppSvc 
) const
private
StatusCode Algorithm::service_i ( const std::string &  svcType,
const std::string &  svcName,
const InterfaceID iid,
void **  ppSvc 
) const
private

Definition at line 1005 of file Algorithm.cpp.

SmartIF< ISvcLocator > & Algorithm::serviceLocator ( ) const

The standard service locator.

Returns a pointer to the service locator service. This service may be used by an algorithm to request any services it requires in addition to those provided by default.

Definition at line 911 of file Algorithm.cpp.

SmartIF<ISvcLocator>& Algorithm::serviceLocator ( ) const

The standard service locator.

Returns a pointer to the service locator service. This service may be used by an algorithm to request any services it requires in addition to those provided by default.

void Algorithm::setExecuted ( bool  state)
override

Set the executed flag to the specified state.

void Algorithm::setExecuted ( bool  state)
override

Set the executed flag to the specified state.

Definition at line 804 of file Algorithm.cpp.

void Algorithm::setFilterPassed ( bool  state)
override

Set the filter passed flag to the specified state.

Definition at line 821 of file Algorithm.cpp.

void Algorithm::setFilterPassed ( bool  state)
override

Set the filter passed flag to the specified state.

void Algorithm::setOutputLevel ( int  level)

Set the output level for current algorithm.

void Algorithm::setOutputLevel ( int  level)

Set the output level for current algorithm.

Definition at line 833 of file Algorithm.cpp.

StatusCode Algorithm::setProperties ( )

Set the algorithm's properties.

This method requests the job options service to set the values of any declared properties. The method is invoked from within sysInitialize() by the framework and does not need to be explicitly called by a concrete algorithm.

Definition at line 916 of file Algorithm.cpp.

StatusCode Algorithm::setProperties ( )

Set the algorithm's properties.

This method requests the job options service to set the values of any declared properties. The method is invoked from within sysInitialize() by the framework and does not need to be explicitly called by a concrete algorithm.

StatusCode Algorithm::setProperty ( const Property p)
override

Implementation of IProperty::setProperty.

StatusCode Algorithm::setProperty ( const Property p)
override

Implementation of IProperty::setProperty.

Definition at line 961 of file Algorithm.cpp.

StatusCode Algorithm::setProperty ( const std::string &  s)
override

Implementation of IProperty::setProperty.

StatusCode Algorithm::setProperty ( const std::string &  s)
override

Implementation of IProperty::setProperty.

Definition at line 964 of file Algorithm.cpp.

StatusCode Algorithm::setProperty ( const std::string &  n,
const std::string &  v 
)
override

Implementation of IProperty::setProperty.

Definition at line 967 of file Algorithm.cpp.

StatusCode Algorithm::setProperty ( const std::string &  n,
const std::string &  v 
)
override

Implementation of IProperty::setProperty.

template<class TYPE >
StatusCode Algorithm::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 519 of file Algorithm.h.

521  { 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
const std::string & name() const override
The identifying name of the algorithm object.
Definition: Algorithm.cpp:792
TYPE * get() const
Get interface pointer.
Definition: SmartIF.h:76
SmartIF< PropertyMgr > m_propertyMgr
For management of properties.
Definition: Algorithm.h:565
template<class TYPE >
StatusCode Algorithm::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 519 of file Algorithm.h.

521  { 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
const std::string & name() const override
The identifying name of the algorithm object.
Definition: Algorithm.cpp:792
TYPE * get() const
Get interface pointer.
Definition: SmartIF.h:76
SmartIF< PropertyMgr > m_propertyMgr
For management of properties.
Definition: Algorithm.h:565
StatusCode Algorithm::start ( )
inlineoverride

the default (empty) implementation of IStateful::start() method

Definition at line 159 of file Algorithm.h.

StatusCode Algorithm::start ( )
inlineoverride

the default (empty) implementation of IStateful::start() method

Definition at line 159 of file Algorithm.h.

StatusCode Algorithm::stop ( )
inlineoverride

the default (empty) implementation of IStateful::stop() method

Definition at line 161 of file Algorithm.h.

StatusCode Algorithm::stop ( )
inlineoverride

the default (empty) implementation of IStateful::stop() method

Definition at line 161 of file Algorithm.h.

const std::vector<Algorithm*>* Algorithm::subAlgorithms ( ) const

List of sub-algorithms. Returns a pointer to a vector of (sub) Algorithms.

const std::vector< Algorithm * > * Algorithm::subAlgorithms ( ) const

List of sub-algorithms. Returns a pointer to a vector of (sub) Algorithms.

Definition at line 825 of file Algorithm.cpp.

std::vector<Algorithm*>* Algorithm::subAlgorithms ( )

List of sub-algorithms. Returns a pointer to a vector of (sub) Algorithms.

std::vector< Algorithm * > * Algorithm::subAlgorithms ( )

List of sub-algorithms. Returns a pointer to a vector of (sub) Algorithms.

Definition at line 829 of file Algorithm.cpp.

SmartIF<ISvcLocator>& Algorithm::svcLoc ( ) const
inline

shortcut for method serviceLocator

Definition at line 325 of file Algorithm.h.

325 { return serviceLocator() ; }
SmartIF< ISvcLocator > & serviceLocator() const
The standard service locator.
Definition: Algorithm.cpp:911
SmartIF<ISvcLocator>& Algorithm::svcLoc ( ) const
inline

shortcut for method serviceLocator

Definition at line 325 of file Algorithm.h.

325 { return serviceLocator() ; }
SmartIF< ISvcLocator > & serviceLocator() const
The standard service locator.
Definition: Algorithm.cpp:911
StatusCode Algorithm::sysBeginRun ( )
override

beginRun method invoked by the framework.

This method is responsible for any beginRun actions required by the framework itself. It will in turn invoke the beginRun() method of the derived algorithm, and of any sub-algorithms which it creates.

Definition at line 403 of file Algorithm.cpp.

StatusCode Algorithm::sysBeginRun ( )
override

beginRun method invoked by the framework.

This method is responsible for any beginRun actions required by the framework itself. It will in turn invoke the beginRun() method of the derived algorithm, and of any sub-algorithms which it creates.

StatusCode Algorithm::sysEndRun ( )
override

endRun method invoked by the framework.

This method is responsible for any endRun actions required by the framework itself. It will in turn invoke the endRun() method of the derived algorithm, and of any sub-algorithms which it creates.

StatusCode Algorithm::sysEndRun ( )
override

endRun method invoked by the framework.

This method is responsible for any endRun actions required by the framework itself. It will in turn invoke the endRun() method of the derived algorithm, and of any sub-algorithms which it creates.

Definition at line 474 of file Algorithm.cpp.

StatusCode Algorithm::sysExecute ( )
override

The actions to be performed by the algorithm on an event.

This method is invoked once per event for top level algorithms by the application manager. This method invokes execute() method. For sub-algorithms either the sysExecute() method or execute() method must be EXPLICITLY invoked by the parent algorithm.

StatusCode Algorithm::sysExecute ( )
override

The actions to be performed by the algorithm on an event.

This method is invoked once per event for top level algorithms by the application manager. This method invokes execute() method. For sub-algorithms either the sysExecute() method or execute() method must be EXPLICITLY invoked by the parent algorithm.

Definition at line 545 of file Algorithm.cpp.

StatusCode Algorithm::sysFinalize ( )
override

System finalization.

This method invokes the finalize() method of a concrete algorithm and the finalize() methods of all of that algorithm's sub algorithms.

StatusCode Algorithm::sysFinalize ( )
override

System finalization.

This method invokes the finalize() method of a concrete algorithm and the finalize() methods of all of that algorithm's sub algorithms.

Definition at line 690 of file Algorithm.cpp.

StatusCode Algorithm::sysInitialize ( )
override

Initialization method invoked by the framework.

This method is responsible for any bookkeeping of initialization required by the framework itself. It will in turn invoke the initialize() method of the derived algorithm, and of any sub-algorithms which it creates.

StatusCode Algorithm::sysInitialize ( )
override

Initialization method invoked by the framework.

This method is responsible for any bookkeeping of initialization required by the framework itself. It will in turn invoke the initialize() method of the derived algorithm, and of any sub-algorithms which it creates.

Definition at line 87 of file Algorithm.cpp.

89 { return GaudiPython::call_python_method ( m_self , "start" ) ; }
90 // ============================================================================
92 { return GaudiPython::call_python_method ( m_self , "execute" ) ; }
93 // ============================================================================
95 { return GaudiPython::call_python_method ( m_self , "stop" ) ; }
96 // ============================================================================
98 { return GaudiPython::call_python_method ( m_self , "finalize" ) ; }
99 
101  return GaudiPython::call_python_method ( m_self , "beginRun" ) ; }
103  return GaudiPython::call_python_method ( m_self , "endRun" ) ; }
104 
105 
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
GAUDI_API StatusCode call_python_method(PyObject *self, const char *method)
call the python method
Definition: Algorithm.cpp:29
StatusCode Algorithm::sysReinitialize ( )
override

Reinitialization method invoked by the framework.

This method is responsible for any reinitialization required by the framework itself. It will in turn invoke the reinitialize() method of the derived algorithm, and of any sub-algorithms which it creates.

StatusCode Algorithm::sysReinitialize ( )
override

Reinitialization method invoked by the framework.

This method is responsible for any reinitialization required by the framework itself. It will in turn invoke the reinitialize() method of the derived algorithm, and of any sub-algorithms which it creates.

Definition at line 247 of file Algorithm.cpp.

StatusCode Algorithm::sysRestart ( )
override

Restart method invoked by the framework.

It will in turn invoke the restart() method of the derived algorithm, and of any sub-algorithms which it creates.

StatusCode Algorithm::sysRestart ( )
override

Restart method invoked by the framework.

It will in turn invoke the restart() method of the derived algorithm, and of any sub-algorithms which it creates.

Definition at line 325 of file Algorithm.cpp.

StatusCode Algorithm::sysStart ( )
override

Reinitialization method invoked by the framework.

This method is responsible for any reinitialization required by the framework itself. It will in turn invoke the reinitialize() method of the derived algorithm, and of any sub-algorithms which it creates.

Definition at line 175 of file Algorithm.cpp.

StatusCode Algorithm::sysStart ( )
override

Reinitialization method invoked by the framework.

This method is responsible for any reinitialization required by the framework itself. It will in turn invoke the reinitialize() method of the derived algorithm, and of any sub-algorithms which it creates.

StatusCode Algorithm::sysStop ( )
override

System stop.

This method invokes the stop() method of a concrete algorithm and the stop() methods of all of that algorithm's sub algorithms.

StatusCode Algorithm::sysStop ( )
override

System stop.

This method invokes the stop() method of a concrete algorithm and the stop() methods of all of that algorithm's sub algorithms.

Definition at line 634 of file Algorithm.cpp.

Gaudi::StateMachine::State Algorithm::targetFSMState ( ) const
inlineoverride

returns the state the algorithm will be in after the ongoing transition

Definition at line 171 of file Algorithm.h.

171 { return m_targetState; }
Gaudi::StateMachine::State m_targetState
Algorithm has been initialized flag.
Definition: Algorithm.h:583
Gaudi::StateMachine::State Algorithm::targetFSMState ( ) const
inlineoverride

returns the state the algorithm will be in after the ongoing transition

Definition at line 171 of file Algorithm.h.

171 { return m_targetState; }
Gaudi::StateMachine::State m_targetState
Algorithm has been initialized flag.
Definition: Algorithm.h:583
StatusCode Algorithm::terminate ( )
inlineoverride

Dummy implementation of IStateful::terminate() method.

Definition at line 154 of file Algorithm.h.

StatusCode Algorithm::terminate ( )
inlineoverride

Dummy implementation of IStateful::terminate() method.

Definition at line 154 of file Algorithm.h.

SmartIF<IToolSvc>& Algorithm::toolSvc ( ) const

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

SmartIF<IToolSvc>& Algorithm::toolSvc ( ) const

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

const std::string& Algorithm::version ( ) const
override
const std::string & Algorithm::version ( ) const
override

Definition at line 796 of file Algorithm.cpp.

Member Data Documentation

BooleanProperty Algorithm::m_auditInit
private

global flag for auditors

Definition at line 569 of file Algorithm.h.

bool Algorithm::m_auditorBeginRun
private

flag for auditors in "beginRun()"

Definition at line 575 of file Algorithm.h.

bool Algorithm::m_auditorEndRun
private

flag for auditors in "endRun()"

Definition at line 576 of file Algorithm.h.

bool Algorithm::m_auditorExecute
private

flag for auditors in "execute()"

Definition at line 573 of file Algorithm.h.

bool Algorithm::m_auditorFinalize
private

flag for auditors in "finalize()"

Definition at line 574 of file Algorithm.h.

bool Algorithm::m_auditorInitialize
private

flag for auditors in "initialize()"

Definition at line 570 of file Algorithm.h.

bool Algorithm::m_auditorReinitialize
private

flag for auditors in "Reinitialize()"

Definition at line 571 of file Algorithm.h.

bool Algorithm::m_auditorRestart
private

flag for auditors in "Restart()"

Definition at line 572 of file Algorithm.h.

bool Algorithm::m_auditorStart
private

flag for auditors in "initialize()"

Definition at line 577 of file Algorithm.h.

bool Algorithm::m_auditorStop
private

flag for auditors in "Reinitialize()"

Definition at line 578 of file Algorithm.h.

SmartIF< IAlgContextSvc > Algorithm::m_contextSvc
mutableprivate

Algorithm Context Service.

Definition at line 561 of file Algorithm.h.

SmartIF< IChronoStatSvc > Algorithm::m_CSS
mutableprivate

Chrono & Stat Service.

Definition at line 555 of file Algorithm.h.

SmartIF< IConversionSvc > Algorithm::m_DCS
mutableprivate

Detector conversion service.

Definition at line 551 of file Algorithm.h.

SmartIF< IDataProviderSvc > Algorithm::m_DDS
mutableprivate

Detector data service.

Definition at line 550 of file Algorithm.h.

SmartIF< IConversionSvc > Algorithm::m_ECS
mutableprivate

Event conversion service.

Definition at line 549 of file Algorithm.h.

SmartIF< IDataProviderSvc > Algorithm::m_EDS
mutableprivate

Event data service.

Definition at line 548 of file Algorithm.h.

int Algorithm::m_errorCount
private

Algorithm error counter.

Definition at line 568 of file Algorithm.h.

int Algorithm::m_errorMax
private

Algorithm Max number of errors.

Definition at line 567 of file Algorithm.h.

SmartIF< IExceptionSvc > Algorithm::m_EXS
mutableprivate

Exception Handler Service.

Definition at line 557 of file Algorithm.h.

bool Algorithm::m_filterPassed = true
private

Filter passed flag.

Definition at line 579 of file Algorithm.h.

SmartIF< IHistogramSvc > Algorithm::m_HDS
mutableprivate

Histogram data service.

Definition at line 552 of file Algorithm.h.

bool Algorithm::m_isEnabled = true
private

Algorithm is enabled flag.

Definition at line 580 of file Algorithm.h.

bool Algorithm::m_isExecuted = false
private

Algorithm is executed flag.

Definition at line 581 of file Algorithm.h.

bool Algorithm::m_isFinalized
private

Algorithm has been finalized flag.

Definition at line 584 of file Algorithm.h.

std::string Algorithm::m_monitorSvcName
private

Name to use for Monitor Service.

Definition at line 563 of file Algorithm.h.

SmartIF< IMessageSvc > Algorithm::m_MS
mutableprivate

Message service.

Definition at line 547 of file Algorithm.h.

std::string Algorithm::m_name
private

Algorithm's name for identification.

Definition at line 543 of file Algorithm.h.

SmartIF< INTupleSvc > Algorithm::m_NTS
mutableprivate

N tuple service.

Definition at line 553 of file Algorithm.h.

IntegerProperty Algorithm::m_outputLevel
private

Algorithm output level.

Definition at line 566 of file Algorithm.h.

SmartIF< IAuditorSvc > Algorithm::m_pAuditorSvc
mutableprivate

Auditor Service.

Definition at line 558 of file Algorithm.h.

SmartIF< IMonitorSvc > Algorithm::m_pMonitorSvc
mutableprivate

Online Monitoring Service.

Definition at line 560 of file Algorithm.h.

SmartIF< PropertyMgr > Algorithm::m_propertyMgr
private

For management of properties.

Definition at line 565 of file Algorithm.h.

SmartIF< ISvcLocator > Algorithm::m_pSvcLocator
private

Pointer to service locator service.

Definition at line 564 of file Algorithm.h.

SmartIF< IToolSvc > Algorithm::m_ptoolSvc
mutableprivate

ToolSvc Service.

Definition at line 559 of file Algorithm.h.

bool Algorithm::m_registerContext = false
private

flag to register for Algorithm Context Service

Definition at line 562 of file Algorithm.h.

SmartIF< IRndmGenSvc > Algorithm::m_RGS
mutableprivate

Random Number Generator Service.

Definition at line 556 of file Algorithm.h.

Algorithm has been initialized flag.

Definition at line 582 of file Algorithm.h.

std::vector< Algorithm * > Algorithm::m_subAlgms
private

Sub algorithms.

Definition at line 545 of file Algorithm.h.

Gaudi::StateMachine::State Algorithm::m_targetState = Gaudi::StateMachine::CONFIGURED
private

Algorithm has been initialized flag.

Definition at line 583 of file Algorithm.h.

std::string Algorithm::m_version
private

Algorithm's version.

Definition at line 544 of file Algorithm.h.


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