The Gaudi Framework  master (37c0b60a)
IAlgorithm Class Referenceabstract

#include <GaudiKernel/IAlgorithm.h>

Inheritance diagram for IAlgorithm:
Collaboration diagram for IAlgorithm:

Public Member Functions

 DeclareInterfaceID (IAlgorithm, 7, 0)
 InterfaceID. More...
 
virtual const std::stringversion () const =0
 The version of the algorithm. More...
 
virtual const std::stringtype () const =0
 The type of the algorithm. More...
 
virtual void setType (std::string)=0
 
virtual const Gaudi::StringKeynameKey () 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 (const EventContext &) const =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 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 AlgExecStateexecState (const EventContext &ctx) const =0
 reference to AlgExecState of Alg More...
 
virtual bool isEnabled () const =0
 Is this algorithm enabled or disabled? More...
 
virtual bool isSequence () const =0
 Are we a Sequence? More...
 
virtual std::ostreamtoControlFlowExpression (std::ostream &os) const =0
 Produce string represention of the control flow expression. More...
 
virtual void setIndex (const unsigned int &idx)=0
 Set instantiation index of Alg. More...
 
virtual bool isReEntrant () const =0
 

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 38 of file IAlgorithm.h.

Member Function Documentation

◆ cardinality()

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

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

◆ DeclareInterfaceID()

IAlgorithm::DeclareInterfaceID ( IAlgorithm  ,
,
 
)

◆ execState()

virtual AlgExecState& IAlgorithm::execState ( const EventContext ctx) const
pure virtual

reference to AlgExecState of Alg

◆ execute()

virtual StatusCode IAlgorithm::execute ( const EventContext ) const
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.

◆ index()

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

The index of the algorithm.

◆ isClonable()

virtual bool IAlgorithm::isClonable ( ) const
inlinevirtual

Specify if the algorithm is clonable.

Definition at line 64 of file IAlgorithm.h.

64 { return false; }

◆ isEnabled()

virtual bool IAlgorithm::isEnabled ( ) const
pure virtual

Is this algorithm enabled or disabled?

◆ isFinalized()

virtual bool IAlgorithm::isFinalized ( ) const
pure virtual

check if the algorithm is finalized properly

◆ isInitialized()

virtual bool IAlgorithm::isInitialized ( ) const
pure virtual

check if the algorithm is initialized properly

◆ isReEntrant()

virtual bool IAlgorithm::isReEntrant ( ) const
pure virtual

◆ isSequence()

virtual bool IAlgorithm::isSequence ( ) const
pure virtual

Are we a Sequence?

◆ nameKey()

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

StringKey rep of name.

◆ neededResources()

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

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

◆ setIndex()

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

Set instantiation index of Alg.

◆ setType()

virtual void IAlgorithm::setType ( std::string  )
pure virtual

◆ sysExecute()

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

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

◆ sysFinalize()

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.

◆ sysInitialize()

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.

◆ sysReinitialize()

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.

◆ sysRestart()

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.

◆ sysStart()

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.

◆ sysStop()

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.

◆ toControlFlowExpression()

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

Produce string represention of the control flow expression.

◆ type()

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

The type of the algorithm.

◆ version()

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

The version of the algorithm.

Member Data Documentation

◆ AlgResourcePool

friend IAlgorithm::AlgResourcePool

Definition at line 40 of file IAlgorithm.h.


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