The Gaudi Framework
v29r0 (ff2e7097)
|
Base class from which all concrete algorithm classes should be derived. More...
#include <GaudiKernel/Algorithm.h>
Public Member Functions | |
Algorithm (const std::string &name, ISvcLocator *svcloc, const std::string &version=PACKAGE_VERSION) | |
Constructor. 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 (const EventContext &ctx) 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 Gaudi::StringKey & | nameKey () const override |
const std::string & | type () const override |
The type of the algorithm object. More... | |
void | setType (const std::string &type) override |
const std::string & | version () const override |
unsigned int | index () 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) const 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 | isSequence () const override |
Are we a Sequence? More... | |
bool | filterPassed () const override |
Did this algorithm pass or fail its filter criterion for the last event? More... | |
void | setFilterPassed (bool state) const override |
Set the filter passed flag to the specified state. More... | |
unsigned 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< IService > | service (const std::string &name, const bool createIf=true, const bool quiet=false) const |
Return a pointer to the service identified by name (or "type/name") More... | |
template<class T > | |
SmartIF< T > | service (const std::string &name, bool createIf=true, bool quiet=false) const |
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 |
SmartIF< IDataProviderSvc > & | detSvc () const |
The standard detector data service. More... | |
SmartIF< IDataProviderSvc > & | detDataService () const |
SmartIF< IConversionSvc > & | detCnvSvc () const |
The standard detector data persistency conversion service. More... | |
SmartIF< IConversionSvc > & | detDataCnvService () const |
SmartIF< IDataProviderSvc > & | eventSvc () const |
The standard event data service. More... | |
SmartIF< IDataProviderSvc > & | evtSvc () const |
shortcut for method eventSvc More... | |
SmartIF< IDataProviderSvc > & | eventDataService () const |
SmartIF< IConversionSvc > & | eventCnvSvc () const |
The standard event data persistency conversion service. More... | |
SmartIF< IConversionSvc > & | eventDataCnvService () const |
SmartIF< IHistogramSvc > & | histoSvc () const |
The standard histogram service. More... | |
SmartIF< IHistogramSvc > & | histogramDataService () const |
SmartIF< INTupleSvc > & | ntupleSvc () const |
The standard N tuple service. More... | |
SmartIF< INTupleSvc > & | ntupleService () const |
SmartIF< IRndmGenSvc > & | randSvc () const |
The standard RandomGen service, Return a pointer to the 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< ITimelineSvc > & | timelineSvc () const |
SmartIF< ISvcLocator > & | serviceLocator () const override |
The standard service locator. More... | |
SmartIF< ISvcLocator > & | svcLoc () const |
shortcut for method serviceLocator More... | |
SmartIF< IHiveWhiteBoard > & | whiteboard () const |
SmartIF< IAlgExecStateSvc > & | algExecStateSvc () const |
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 | setProperties () |
Set the algorithm's properties. More... | |
template<class T > | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, ToolHandle< T > &hndl, const std::string &doc="none") |
template<class T > | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, ToolHandleArray< T > &hndlArr, const std::string &doc="none") |
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... | |
const EventContext & | getContext () const override |
get the context More... | |
virtual void | acceptDHVisitor (IDataHandleVisitor *) const override |
void | commitHandles () override |
void | registerTool (IAlgTool *tool) const |
void | deregisterTool (IAlgTool *tool) const |
template<class T > | |
StatusCode | declareTool (ToolHandle< T > &handle, std::string toolTypeAndName, bool createIf=true) |
template<class T > | |
void | addToolsArray (ToolHandleArray< T > &hndlArr) |
const std::vector< IAlgTool * > & | tools () const |
bool | isIOBound () const |
void | setIOBound (bool value) |
unsigned int | cardinality () const override |
Return the cardinality. More... | |
const std::vector< std::string > & | neededResources () const override |
std::ostream & | toControlFlowExpression (std::ostream &os) const override |
Produce string represention of the control flow expression. More... | |
Public Member Functions inherited from DataHandleHolderBase< PropertyHolder< CommonMessaging< implements< IAlgorithm, IDataHandleHolder, IProperty, IStateful > > > > | |
std::vector< Gaudi::DataHandle * > | inputHandles () const override |
std::vector< Gaudi::DataHandle * > | outputHandles () const override |
virtual const DataObjIDColl & | extraInputDeps () const override |
virtual const DataObjIDColl & | extraOutputDeps () const override |
void | declare (Gaudi::DataHandle &handle) override |
void | renounce (Gaudi::DataHandle &handle) override |
const DataObjIDColl & | inputDataObjs () const override |
const DataObjIDColl & | outputDataObjs () const override |
void | addDependency (const DataObjID &id, const Gaudi::DataHandle::Mode &mode) override |
Public Member Functions inherited from extends< PropertyHolder< CommonMessaging< implements< IAlgorithm, IDataHandleHolder, IProperty, IStateful > > >, IDataHandleHolder > | |
void * | i_cast (const InterfaceID &tid) const override |
Implementation of IInterface::i_cast. More... | |
StatusCode | queryInterface (const InterfaceID &ti, void **pp) override |
Implementation of IInterface::queryInterface. More... | |
std::vector< std::string > | getInterfaceNames () const override |
Implementation of IInterface::getInterfaceNames. More... | |
~extends () override=default | |
Virtual destructor. More... | |
Public Member Functions inherited from PropertyHolder< CommonMessaging< implements< IAlgorithm, IDataHandleHolder, IProperty, IStateful > > > | |
PropertyHolder ()=default | |
~PropertyHolder () override=default | |
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Details::PropertyBase &prop) |
Declare a property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, TYPE &value, const std::string &doc="none") |
Helper to wrap a regular data member and use it as a regular property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, TYPE &value, const std::string &doc="none") const |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, Gaudi::Property< TYPE, VERIFIER, HANDLERS > &prop, const std::string &doc="none") |
Declare a PropertyBase instance setting name and documentation. More... | |
Gaudi::Details::PropertyBase * | declareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="") |
Declare a remote property. More... | |
StatusCode | setProperty (const Gaudi::Details::PropertyBase &p) override |
set the property form another property More... | |
StatusCode | setProperty (const std::string &s) override |
set the property from the formatted string More... | |
StatusCode | setProperty (const std::string &n, const std::string &v) override |
set the property from name and the value More... | |
StatusCode | setProperty (const std::string &name, const TYPE &value) |
set the property form the value More... | |
StatusCode | getProperty (Gaudi::Details::PropertyBase *p) const override |
get the property More... | |
const Gaudi::Details::PropertyBase & | getProperty (const std::string &name) const override |
get the property by name More... | |
StatusCode | getProperty (const std::string &n, std::string &v) const override |
convert the property to the string More... | |
const std::vector< Gaudi::Details::PropertyBase * > & | getProperties () const override |
get all properties More... | |
bool | hasProperty (const std::string &name) const override |
Return true if we have a property with the given name. More... | |
PropertyHolder (const PropertyHolder &)=delete | |
PropertyHolder & | operator= (const PropertyHolder &)=delete |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, GaudiHandleBase &ref, const std::string &doc="none") |
Specializations for various GaudiHandles. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, GaudiHandleArrayBase &ref, const std::string &doc="none") |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, DataObjectHandleBase &ref, const std::string &doc="none") |
Public Member Functions inherited from CommonMessagingBase | |
virtual | ~CommonMessagingBase ()=default |
Virtual destructor. More... | |
SmartIF< IMessageSvc > & | msgSvc () const |
The standard message service. More... | |
MsgStream & | msgStream () const |
Return an uninitialized MsgStream. More... | |
MsgStream & | msgStream (const MSG::Level level) const |
Predefined configurable message stream for the efficient printouts. More... | |
MsgStream & | always () const |
shortcut for the method msgStream(MSG::ALWAYS) More... | |
MsgStream & | fatal () const |
shortcut for the method msgStream(MSG::FATAL) More... | |
MsgStream & | err () const |
shortcut for the method msgStream(MSG::ERROR) More... | |
MsgStream & | error () const |
shortcut for the method msgStream(MSG::ERROR) More... | |
MsgStream & | warning () const |
shortcut for the method msgStream(MSG::WARNING) More... | |
MsgStream & | info () const |
shortcut for the method msgStream(MSG::INFO) More... | |
MsgStream & | debug () const |
shortcut for the method msgStream(MSG::DEBUG) More... | |
MsgStream & | verbose () const |
shortcut for the method msgStream(MSG::VERBOSE) More... | |
MsgStream & | msg () const |
shortcut for the method msgStream(MSG::INFO) More... | |
MSG::Level | msgLevel () const |
get the output level from the embedded MsgStream More... | |
MSG::Level | outputLevel () const __attribute__((deprecated)) |
Backward compatibility function for getting the output level. More... | |
bool | msgLevel (MSG::Level lvl) const |
get the output level from the embedded MsgStream More... | |
Public Member Functions inherited from extend_interfaces< Interfaces... > | |
~extend_interfaces () override=default | |
Virtual destructor. More... | |
Protected Member Functions | |
std::vector< IAlgTool * > & | tools () |
bool | isInitialized () const override |
Has the Algorithm already been initialized? More... | |
bool | isFinalized () const override |
Has the Algorithm already been finalized? More... | |
void | setIndex (const unsigned int &idx) override |
set instantiation index of Alg More... | |
Protected Member Functions inherited from DataHandleHolderBase< PropertyHolder< CommonMessaging< implements< IAlgorithm, IDataHandleHolder, IProperty, IStateful > > > > | |
void | initDataHandleHolder () |
initializes all handles - called by the sysInitialize method of any descendant of this More... | |
Protected Member Functions inherited from PropertyHolder< CommonMessaging< implements< IAlgorithm, IDataHandleHolder, IProperty, IStateful > > > | |
Gaudi::Details::PropertyBase * | property (const std::string &name) const |
Protected Member Functions inherited from CommonMessaging< implements< IAlgorithm, IDataHandleHolder, IProperty, IStateful > > | |
void | updateMsgStreamOutputLevel (int level) |
Update the output level of the cached MsgStream. More... | |
Protected Attributes | |
std::unique_ptr< IDataHandleVisitor > | m_updateDataHandles |
Hook for for derived classes to provide a custom visitor for data handles. More... | |
Protected Attributes inherited from DataHandleHolderBase< PropertyHolder< CommonMessaging< implements< IAlgorithm, IDataHandleHolder, IProperty, IStateful > > > > | |
DataObjIDColl | m_inputDataObjs |
DataObjIDColl | m_outputDataObjs |
Private Member Functions | |
void | initToolHandles () const |
unsigned int | maxErrors () const |
template<typename IFace > | |
SmartIF< IFace > & | get_svc_ (SmartIF< IFace > &p, const char *service_name) const |
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... | |
Algorithm & | operator= (const Algorithm &rhs) |
Private assignment operator: NO ASSIGNMENT ALLOWED. More... | |
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).
Definition at line 78 of file Algorithm.h.
typedef Gaudi::PluginService::Factory<IAlgorithm*, const std::string&, ISvcLocator*> Algorithm::Factory |
Definition at line 84 of file Algorithm.h.
Algorithm::Algorithm | ( | const std::string & | name, |
ISvcLocator * | svcloc, | ||
const std::string & | version = PACKAGE_VERSION |
||
) |
Constructor.
name | The algorithm object's name |
svcloc | A pointer to a service location service |
Definition at line 47 of file Algorithm.cpp.
|
private |
Private Copy constructor: NO COPY ALLOWED.
|
overridevirtual |
Definition at line 231 of file Algorithm.cpp.
|
inline |
Definition at line 464 of file Algorithm.h.
SmartIF< IAlgExecStateSvc > & Algorithm::algExecStateSvc | ( | ) | const |
Definition at line 793 of file Algorithm.cpp.
SmartIF< IAuditorSvc > & Algorithm::auditorSvc | ( | ) | const |
The standard auditor service.May not be invoked before sysInitialize() has been invoked.
Definition at line 794 of file Algorithm.cpp.
|
override |
Algorithm begin run.
This method is called at the beginning of the event loop.
Definition at line 452 of file Algorithm.cpp.
|
inlineoverride |
|
inline |
Definition at line 261 of file Algorithm.h.
SmartIF< IChronoStatSvc > & Algorithm::chronoSvc | ( | ) | const |
The standard Chrono & Stat service, Return a pointer to the service if present.
Definition at line 795 of file Algorithm.cpp.
|
override |
Definition at line 959 of file Algorithm.cpp.
|
inlineoverride |
Dummy implementation of IStateful::configure() method.
Definition at line 174 of file Algorithm.h.
SmartIF< IAlgContextSvc > & Algorithm::contextSvc | ( | ) | const |
Definition at line 805 of file Algorithm.cpp.
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.
type | The concrete algorithm class of the sub algorithm |
name | The name to be given to the sub algorithm |
pSubAlg | Set to point to the newly created algorithm object |
Definition at line 837 of file Algorithm.cpp.
|
inline |
Declare monitoring information.
name | Monitoring information name known to the external system |
var | Monitoring Listener address (the item to monitor...) |
desc | Textual description of the information being monitored |
Definition at line 413 of file Algorithm.h.
|
inline |
Declare monitoring information (special case)
name | Monitoring information name known to the external system |
format | Format information |
var | Monitoring Listener address |
size | Monitoring Listener address size |
desc | Textual description of the information being monitored |
Definition at line 426 of file Algorithm.h.
|
inline |
Definition at line 370 of file Algorithm.h.
|
inline |
Definition at line 381 of file Algorithm.h.
|
inline |
Definition at line 448 of file Algorithm.h.
void Algorithm::deregisterTool | ( | IAlgTool * | tool | ) | const |
Definition at line 985 of file Algorithm.cpp.
SmartIF< IConversionSvc > & Algorithm::detCnvSvc | ( | ) | const |
The standard detector data persistency conversion service.
May not be invoked before sysInitialize() has been invoked.
Definition at line 797 of file Algorithm.cpp.
|
inline |
Definition at line 273 of file Algorithm.h.
|
inline |
Definition at line 267 of file Algorithm.h.
SmartIF< IDataProviderSvc > & Algorithm::detSvc | ( | ) | const |
The standard detector data service.
May not be invoked before sysInitialize() has been invoked.
Definition at line 796 of file Algorithm.cpp.
|
override |
Algorithm end run. This method is called at the end of the event loop.
Definition at line 500 of file Algorithm.cpp.
unsigned int Algorithm::errorCount | ( | ) | const |
Get the number of failures of the algorithm.
Definition at line 1001 of file Algorithm.cpp.
SmartIF< IConversionSvc > & Algorithm::eventCnvSvc | ( | ) | const |
The standard event data persistency conversion service.
May not be invoked before sysInitialize() has been invoked.
Definition at line 799 of file Algorithm.cpp.
|
inline |
Definition at line 287 of file Algorithm.h.
|
inline |
Definition at line 281 of file Algorithm.h.
SmartIF< IDataProviderSvc > & Algorithm::eventSvc | ( | ) | const |
The standard event data service.
May not be invoked before sysInitialize() has been invoked.
Definition at line 798 of file Algorithm.cpp.
|
inline |
shortcut for method eventSvc
Definition at line 280 of file Algorithm.h.
SmartIF< IExceptionSvc > & Algorithm::exceptionSvc | ( | ) | const |
Get the exception Service.
Definition at line 804 of file Algorithm.cpp.
|
override |
Did this algorithm pass or fail its filter criterion for the last event?
Definition at line 762 of file Algorithm.cpp.
|
inlineoverride |
the default (empty) implementation of IStateful::finalize() method
Definition at line 185 of file Algorithm.h.
|
inlineoverride |
returns the current state of the algorithm
Definition at line 191 of file Algorithm.h.
|
private |
Definition at line 781 of file Algorithm.cpp.
|
inlineoverride |
|
inline |
Definition at line 296 of file Algorithm.h.
SmartIF< IHistogramSvc > & Algorithm::histoSvc | ( | ) | const |
The standard histogram service.
May not be invoked before sysInitialize() has been invoked.
Definition at line 800 of file Algorithm.cpp.
|
override |
Definition at line 737 of file Algorithm.cpp.
|
inlineoverride |
the default (empty) implementation of IStateful::initialize() method
Definition at line 179 of file Algorithm.h.
|
private |
Definition at line 858 of file Algorithm.cpp.
|
override |
Is this algorithm enabled or disabled?
Definition at line 760 of file Algorithm.cpp.
|
override |
Has this algorithm been executed since the last reset?
Definition at line 741 of file Algorithm.cpp.
|
inlineoverrideprotected |
Has the Algorithm already been finalized?
Definition at line 500 of file Algorithm.h.
|
inlineoverrideprotected |
Has the Algorithm already been initialized?
Definition at line 497 of file Algorithm.h.
|
inline |
Definition at line 472 of file Algorithm.h.
|
inlineoverride |
|
inlineprivate |
Definition at line 510 of file Algorithm.h.
|
inline |
Access the monitor service.
NULL | No monitor service is present |
non-NULL | A monitor service is present and available to be used |
Definition at line 398 of file Algorithm.h.
|
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 731 of file Algorithm.cpp.
|
override |
Definition at line 733 of file Algorithm.cpp.
|
inlineoverride |
Definition at line 493 of file Algorithm.h.
|
inline |
Definition at line 302 of file Algorithm.h.
SmartIF< INTupleSvc > & Algorithm::ntupleSvc | ( | ) | const |
The standard N tuple service.
Returns a pointer to the N tuple service if present.
Definition at line 801 of file Algorithm.cpp.
Private assignment operator: NO ASSIGNMENT ALLOWED.
SmartIF< IRndmGenSvc > & Algorithm::randSvc | ( | ) | const |
The standard RandomGen service, Return a pointer to the service if present.
Definition at line 802 of file Algorithm.cpp.
|
inline |
void Algorithm::registerTool | ( | IAlgTool * | tool | ) | const |
Definition at line 977 of file Algorithm.cpp.
|
override |
the default (empty) implementation of IStateful::reinitialize() method
Definition at line 694 of file Algorithm.cpp.
|
override |
Reset the executed state of the Algorithm for the duration of the current event.
Definition at line 754 of file Algorithm.cpp.
|
override |
the default (empty) implementation of IStateful::restart() method
Definition at line 715 of file Algorithm.cpp.
|
inline |
Access a service by name, creating it if it doesn't already exist.
Definition at line 231 of file Algorithm.h.
|
inline |
Access a service by name and type, creating it if it doesn't already exist.
Definition at line 238 of file Algorithm.h.
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 952 of file Algorithm.cpp.
|
inline |
Definition at line 247 of file Algorithm.h.
|
private |
implementation of service method
Protected Member Functions.
Definition at line 939 of file Algorithm.cpp.
|
private |
Definition at line 945 of file Algorithm.cpp.
|
override |
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 809 of file Algorithm.cpp.
|
override |
Set the executed flag to the specified state.
Definition at line 747 of file Algorithm.cpp.
|
override |
Set the filter passed flag to the specified state.
Definition at line 768 of file Algorithm.cpp.
|
overrideprotected |
set instantiation index of Alg
Definition at line 739 of file Algorithm.cpp.
|
inline |
Definition at line 474 of file Algorithm.h.
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 812 of file Algorithm.cpp.
|
inlineoverride |
Definition at line 167 of file Algorithm.h.
|
inlineoverride |
the default (empty) implementation of IStateful::start() method
Definition at line 181 of file Algorithm.h.
|
inlineoverride |
the default (empty) implementation of IStateful::stop() method
Definition at line 183 of file Algorithm.h.
const std::vector< Algorithm * > * Algorithm::subAlgorithms | ( | ) | const |
List of sub-algorithms. Returns a pointer to a vector of (sub) Algorithms.
Definition at line 776 of file Algorithm.cpp.
std::vector< Algorithm * > * Algorithm::subAlgorithms | ( | ) |
List of sub-algorithms. Returns a pointer to a vector of (sub) Algorithms.
Definition at line 778 of file Algorithm.cpp.
|
inline |
shortcut for method serviceLocator
Definition at line 327 of file Algorithm.h.
|
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 407 of file Algorithm.cpp.
|
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 455 of file Algorithm.cpp.
|
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 502 of file Algorithm.cpp.
|
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 643 of file Algorithm.cpp.
|
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 78 of file Algorithm.cpp.
|
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 296 of file Algorithm.cpp.
|
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 354 of file Algorithm.cpp.
|
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 244 of file Algorithm.cpp.
|
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 596 of file Algorithm.cpp.
|
inlineoverride |
returns the state the algorithm will be in after the ongoing transition
Definition at line 193 of file Algorithm.h.
|
inlineoverride |
Dummy implementation of IStateful::terminate() method.
Definition at line 176 of file Algorithm.h.
SmartIF< ITimelineSvc > & Algorithm::timelineSvc | ( | ) | const |
Definition at line 806 of file Algorithm.cpp.
|
override |
Produce string represention of the control flow expression.
Definition at line 996 of file Algorithm.cpp.
const std::vector< IAlgTool * > & Algorithm::tools | ( | ) | const |
Definition at line 923 of file Algorithm.cpp.
|
protected |
Definition at line 929 of file Algorithm.cpp.
The standard ToolSvc service, Return a pointer to the service if present.
Definition at line 803 of file Algorithm.cpp.
|
inlineoverride |
|
override |
Definition at line 735 of file Algorithm.cpp.
SmartIF< IHiveWhiteBoard > & Algorithm::whiteboard | ( | ) | const |
Definition at line 807 of file Algorithm.cpp.
|
mutableprivate |
Alg execution state mgr.
Definition at line 546 of file Algorithm.h.
|
private |
Definition at line 561 of file Algorithm.h.
|
private |
Definition at line 567 of file Algorithm.h.
|
private |
Definition at line 568 of file Algorithm.h.
|
private |
Definition at line 565 of file Algorithm.h.
|
private |
Definition at line 566 of file Algorithm.h.
|
private |
Definition at line 562 of file Algorithm.h.
|
private |
Definition at line 563 of file Algorithm.h.
|
private |
Definition at line 564 of file Algorithm.h.
|
private |
Definition at line 569 of file Algorithm.h.
|
private |
Definition at line 570 of file Algorithm.h.
|
private |
Definition at line 580 of file Algorithm.h.
|
mutableprivate |
Definition at line 543 of file Algorithm.h.
|
mutableprivate |
Definition at line 537 of file Algorithm.h.
|
mutableprivate |
Detector conversion service.
Definition at line 534 of file Algorithm.h.
|
mutableprivate |
Detector data service.
Definition at line 533 of file Algorithm.h.
|
private |
Definition at line 572 of file Algorithm.h.
|
mutableprivate |
Event conversion service.
Definition at line 532 of file Algorithm.h.
|
mutableprivate |
Event data service.
Definition at line 530 of file Algorithm.h.
|
private |
Definition at line 559 of file Algorithm.h.
|
private |
Definition at line 517 of file Algorithm.h.
|
mutableprivate |
Exception Handler Service.
Definition at line 539 of file Algorithm.h.
|
private |
Definition at line 588 of file Algorithm.h.
|
private |
Filter passed flag.
Definition at line 593 of file Algorithm.h.
|
mutableprivate |
Histogram data service.
Definition at line 535 of file Algorithm.h.
|
private |
Algorithm's index.
Definition at line 516 of file Algorithm.h.
|
private |
Definition at line 557 of file Algorithm.h.
|
private |
Algorithm is executed flag.
Definition at line 594 of file Algorithm.h.
|
private |
Algorithm has been finalized flag.
Definition at line 600 of file Algorithm.h.
|
private |
Definition at line 584 of file Algorithm.h.
|
private |
for re-entrant Algs
Definition at line 591 of file Algorithm.h.
|
private |
Definition at line 574 of file Algorithm.h.
|
mutableprivate |
Message service.
Definition at line 529 of file Algorithm.h.
|
private |
Algorithm's name for identification.
Definition at line 513 of file Algorithm.h.
|
private |
Definition at line 581 of file Algorithm.h.
|
mutableprivate |
N tuple service.
Definition at line 536 of file Algorithm.h.
|
private |
Definition at line 556 of file Algorithm.h.
|
mutableprivate |
Definition at line 540 of file Algorithm.h.
|
mutableprivate |
Online Monitoring Service.
Definition at line 542 of file Algorithm.h.
|
private |
Pointer to service locator service.
Definition at line 548 of file Algorithm.h.
Definition at line 541 of file Algorithm.h.
|
private |
Definition at line 577 of file Algorithm.h.
|
mutableprivate |
Random Number Generator Service.
Definition at line 538 of file Algorithm.h.
|
private |
flag indicating whether ToolHandle tools have been added to m_tools
Algorithm has been initialized flag
Definition at line 598 of file Algorithm.h.
|
private |
Sub algorithms.
Definition at line 518 of file Algorithm.h.
|
private |
Algorithm has been initialized flag.
Definition at line 599 of file Algorithm.h.
|
mutableprivate |
Timeline Service.
Definition at line 545 of file Algorithm.h.
|
mutableprivate |
Definition at line 523 of file Algorithm.h.
|
mutableprivate |
Definition at line 522 of file Algorithm.h.
|
mutableprivate |
Definition at line 596 of file Algorithm.h.
|
mutableprivate |
Definition at line 521 of file Algorithm.h.
|
private |
Algorithm's type.
Definition at line 514 of file Algorithm.h.
|
protected |
Hook for for derived classes to provide a custom visitor for data handles.
Definition at line 552 of file Algorithm.h.
|
private |
Algorithm's version.
Definition at line 515 of file Algorithm.h.
|
mutableprivate |
Event data service (whiteboard)
Definition at line 531 of file Algorithm.h.