| The Gaudi Framework v29r0 (ff2e7097)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Public Attributes | List of all members
IAlgorithm Class Referenceabstract

The IAlgorithm is the interface implemented by the Algorithm base class. More...

`#include <GaudiKernel/IAlgorithm.h>`

Inheritance diagram for IAlgorithm:
[legend]
Collaboration diagram for IAlgorithm:
[legend]

## Public Member Functions
| DeclareInterfaceID (IAlgorithm, 6, 0)
| InterfaceID. More...
virtual const std::string & | version () const =0
| The version of the algorithm. More...
virtual const std::string & | type () const =0
| The type of the algorithm. More...
virtual void | setType (const std::string &)=0
virtual const Gaudi::StringKey & | nameKey () const =0
| StringKey rep of name. More...
virtual unsigned int | index () const =0
| The index of the algorithm. More...
virtual bool | isClonable () const
| Specify if the algorithm is clonable. More...
virtual unsigned int | cardinality () const =0
| Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant. More...
virtual const std::vector< std::string > & | neededResources () const =0
| Named, non thread-safe resources used during event processing. More...
virtual StatusCode | execute ()=0
| The action to be performed by the algorithm on an event. More...
virtual bool | isInitialized () const =0
| check if the algorithm is initialized properly More...
virtual bool | isFinalized () const =0
| check if the algorithm is finalized properly More...
virtual bool | isExecuted () const =0
| check if the algorithm is already executed for the current event More...
virtual StatusCode | sysInitialize ()=0
| Initialization method invoked by the framework. More...
virtual StatusCode | sysStart ()=0
| Startup method invoked by the framework. More...
virtual StatusCode | sysReinitialize ()=0
| Re-initialization method invoked by the framework. More...
virtual StatusCode | sysRestart ()=0
| Re-start method invoked by the framework. More...
virtual StatusCode | sysExecute (const EventContext &)=0
| System execution. This method invokes the execute() method of a concrete algorithm. More...
virtual StatusCode | sysStop ()=0
| System stop. More...
virtual StatusCode | sysFinalize ()=0
| System finalization. More...
virtual StatusCode | sysBeginRun ()=0
| beginRun method invoked by the framework. More...
virtual StatusCode | sysEndRun ()=0
| endRun method invoked by the framework. More...
virtual void | resetExecuted ()=0
| Reset the Algorithm executed state for the current event. More...
virtual StatusCode | beginRun ()=0
| Algorithm begin run. More...
virtual StatusCode | endRun ()=0
| Algorithm end run. More...
virtual void | setExecuted (bool state) const =0
| Set the executed flag to the specified state. More...
virtual bool | isEnabled () const =0
| Is this algorithm enabled or disabled? More...
virtual bool | isSequence () const =0
| Are we a Sequence? More...
virtual bool | filterPassed () const =0
| Did this algorithm pass or fail its filter criterion for the last event? More...
virtual void | setFilterPassed (bool state) const =0
| Set the filter passed flag to the specified state. More...
virtual std::ostream & | toControlFlowExpression (std::ostream &os) const =0
| Produce string represention of the control flow expression. More...
virtual const EventContext & | getContext () const =0
| For concurrency: get the EventContext. More...
virtual void | setIndex (const unsigned int &idx)=0
| Set instantiation index of Alg. More...
Public Member Functions inherited from extend_interfaces< INamedInterface, IStateful >
| ~extend_interfaces () override=default
| Virtual destructor. More...

## Public Attributes
friend | AlgResourcePool

## Additional Inherited Members
Public Types inherited from extend_interfaces< INamedInterface, IStateful >
using | ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids... >::type
| take union of the ext_iids of all Interfaces... More...

## Detailed Description

The IAlgorithm is the interface implemented by the Algorithm base class.

Concrete algorithms, derived from the Algorithm base class are controlled via this interface.

Author
  Paul Maley
  D.Quarrie
  Marco Clemencic

Definition at line 28 of file IAlgorithm.h.

## Member Function Documentation

virtual StatusCode IAlgorithm::beginRun | ( |  | ) |
| pure virtual

Algorithm begin run.

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

virtual unsigned int IAlgorithm::cardinality | ( |  | ) | const
| pure virtual

Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.

IAlgorithm::DeclareInterfaceID | ( | IAlgorithm | ,
|  | 6 | ,
|  | 0 |
| ) |  |

InterfaceID.

virtual StatusCode IAlgorithm::endRun | ( |  | ) |
| pure virtual

Algorithm end run.

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

virtual StatusCode IAlgorithm::execute | ( |  | ) |
| pure virtual

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

This method is invoked once per event for top level algorithms by the application manager.

virtual bool IAlgorithm::filterPassed | ( |  | ) | const
| pure virtual

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

virtual const EventContext& IAlgorithm::getContext | ( |  | ) | const
| pure virtual

For concurrency: get the EventContext.

virtual unsigned int IAlgorithm::index | ( |  | ) | const
| pure virtual

The index of the algorithm.

virtual bool IAlgorithm::isClonable | ( |  | ) | const
| inline virtual

Specify if the algorithm is clonable.

Definition at line 55 of file IAlgorithm.h.

55 { return false; }

virtual bool IAlgorithm::isEnabled | ( |  | ) | const
| pure virtual

Is this algorithm enabled or disabled?

virtual bool IAlgorithm::isExecuted | ( |  | ) | const
| pure virtual

check if the algorithm is already executed for the current event

virtual bool IAlgorithm::isFinalized | ( |  | ) | const
| pure virtual

check if the algorithm is finalized properly

virtual bool IAlgorithm::isInitialized | ( |  | ) | const
| pure virtual

check if the algorithm is initialized properly

virtual bool IAlgorithm::isSequence | ( |  | ) | const
| pure virtual

Are we a Sequence?

virtual const Gaudi::StringKey& IAlgorithm::nameKey | ( |  | ) | const
| pure virtual

StringKey rep of name.

virtual const std::vector<std::string>& IAlgorithm::neededResources | ( |  | ) | const
| pure virtual

Named, non thread-safe resources used during event processing.

virtual void IAlgorithm::resetExecuted | ( |  | ) |
| pure virtual

Reset the Algorithm executed state for the current event.

virtual void IAlgorithm::setExecuted | ( | bool | state | ) | const
| pure virtual

Set the executed flag to the specified state.

virtual void IAlgorithm::setFilterPassed | ( | bool | state | ) | const
| pure virtual

Set the filter passed flag to the specified state.

virtual void IAlgorithm::setIndex | ( | const unsigned int & | idx | ) |
| pure virtual

Set instantiation index of Alg.

virtual void IAlgorithm::setType | ( | const std::string & |  | ) |
| pure virtual

virtual StatusCode IAlgorithm::sysBeginRun | ( |  | ) |
| pure virtual

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.

virtual StatusCode IAlgorithm::sysEndRun | ( |  | ) |
| pure virtual

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.

virtual StatusCode IAlgorithm::sysExecute | ( | const EventContext & |  | ) |
| pure virtual

System execution. This method invokes the execute() method of a concrete algorithm.

virtual StatusCode IAlgorithm::sysFinalize | ( |  | ) |
| pure virtual

System finalization.

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

virtual StatusCode IAlgorithm::sysInitialize | ( |  | ) |
| pure virtual

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.

virtual StatusCode IAlgorithm::sysReinitialize | ( |  | ) |
| pure virtual

Re-initialization method invoked by the framework.

This method is responsible for any re-initialization 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.

virtual StatusCode IAlgorithm::sysRestart | ( |  | ) |
| pure virtual

Re-start method invoked by the framework.

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

virtual StatusCode IAlgorithm::sysStart | ( |  | ) |
| pure virtual

Startup 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 start() method of the derived algorithm, and of any sub-algorithms which it creates.

virtual StatusCode IAlgorithm::sysStop | ( |  | ) |
| pure virtual

System stop.

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

virtual std::ostream& IAlgorithm::toControlFlowExpression | ( | std::ostream & | os | ) | const
| pure virtual

Produce string represention of the control flow expression.

virtual const std::string& IAlgorithm::type | ( |  | ) | const
| pure virtual

The type of the algorithm.

virtual const std::string& IAlgorithm::version | ( |  | ) | const
| pure virtual

The version of the algorithm.

## Member Data Documentation

friend IAlgorithm::AlgResourcePool

Definition at line 31 of file IAlgorithm.h.

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

- GaudiKernel/GaudiKernel/IAlgorithm.h