| # Gaudi Framework, version v20r4
Generated: 8 Jan 2009

# IStateful Class Reference

`#include <IStateful.h>`

Inheritance diagram for IStateful:

[legend]
Collaboration diagram for IStateful:

[legend]

List of all members.

## Detailed Description

Interface for classes that implement the Gaudi State Machine.

Author:
  Marco Clemencic

Date:
  2008-05-15

Definition at line 19 of file IStateful.h.

## Public Member Functions
virtual | ~IStateful ()
virtual StatusCode | configure ()=0
| Configuration (from OFFLINE to CONFIGURED).
virtual StatusCode | initialize ()=0
| Initialization (from CONFIGURED to INITIALIZED).
virtual StatusCode | start ()=0
| Start (from INITIALIZED to RUNNING).
virtual StatusCode | stop ()=0
| Stop (from RUNNING to INITIALIZED).
virtual StatusCode | finalize ()=0
| Finalize (from INITIALIZED to CONFIGURED).
virtual StatusCode | terminate ()=0
| Initialization (from CONFIGURED to OFFLINE).
virtual StatusCode | reinitialize ()=0
| Initialization (from INITIALIZED or RUNNING to INITIALIZED, via CONFIGURED).
virtual StatusCode | restart ()=0
| Initialization (from RUNNING to RUNNING, via INITIALIZED).
virtual Gaudi::StateMachine::State | FSMState () const =0
| Get the current state.
virtual Gaudi::StateMachine::State | targetFSMState () const =0
| When we are in the middle of a transition, get the state where the transition is leading us.
## Static Public Member Functions
static const InterfaceID & | interfaceID ()
| Retrieve interface ID.

## Constructor & Destructor Documentation

virtual IStateful::~IStateful | ( |  | ) | `[inline, virtual]`

Definition at line 25 of file IStateful.h.

    00025 {} //< Virtual destructor.

## Member Function Documentation

static const InterfaceID& IStateful::interfaceID | ( |  | ) | `[inline, static]`

Retrieve interface ID.

Reimplemented from IInterface.

Definition at line 23 of file IStateful.h.

    00023 { return IID_IStateful; }

virtual StatusCode IStateful::configure | ( |  | ) | `[pure virtual]`

Configuration (from OFFLINE to CONFIGURED).

Implemented in Algorithm, AlgTool, Service, and ApplicationMgr.

virtual StatusCode IStateful::initialize | ( |  | ) | `[pure virtual]`

Initialization (from CONFIGURED to INITIALIZED).

Implemented in EventCounter, GaudiAlgorithm, GaudiHistoAlg, GaudiHistoTool, GaudiSequencer, GaudiTool, GaudiTupleAlg, GaudiTupleTool, Prescaler, Sequencer, SequencerTimerTool, GFALDataStreamTool, EqSolver, FuncMinimum, GslSvc, Algorithm, AlgTool, ConversionSvc, DataStreamTool, DataSvc, MinimalEventLoopMgr, Service, DataListenerSvc, PoolDbCacheSvc, PoolDbCnvSvc, PoolDbEvtSelector, GaudiPython::PyAlgorithm, PythonScriptingSvc, AIDATupleSvc, AlgContextSvc, ApplicationMgr, AppMgrRunable, EventLoopMgr, AuditorSvc, ChronoStatSvc, EvtDataSvc, MultiStoreSvc, PartitionSwitchAlg, PartitionSwitchTool, RunRecordDataSvc, StoreExplorerAlg, DetDataSvc, EventCollectionSelector, EventSelector, ExceptionSvc, FastContainersSvc, HistogramSvc, HistorySvc, DataOnDemandSvc, IncidentSvc, IssueLogger, JobOptionsSvc, MessageSvc, CollectionCloneAlg, NTupleSvc, TagCollectionSvc, ParticlePropertySvc, DetPersistencySvc, EvtCollectionStream, EvtPersistencySvc, HistogramPersistencySvc, OutputStream, PersistencySvc, TagCollectionStream, HepRndm::Engine< TYPE >, RndmEngine, RndmGenSvc, StatusCodeSvc, THistSvc, ToolSvc, VFSSvc, Gaudi::IODataManager, Gaudi::MultiFileCatalog, HbookCnv::PersSvc, PartPropSvc, RootHistCnv::PersSvc, GaudiCommon< Algorithm >, GaudiCommon< AlgTool >, GaudiHistos< GaudiAlgorithm >, GaudiHistos< GaudiTool >, GaudiTuples< GaudiHistoTool >, and GaudiTuples< GaudiHistoAlg >.

virtual StatusCode IStateful::start | ( |  | ) | `[pure virtual]`

Start (from INITIALIZED to RUNNING).

Implemented in Sequencer, Algorithm, AlgTool, MinimalEventLoopMgr, Service, GaudiPython::PyAlgorithm, ApplicationMgr, and AppMgrRunable.

virtual StatusCode IStateful::stop | ( |  | ) | `[pure virtual]`

Stop (from RUNNING to INITIALIZED).

Implemented in Sequencer, Algorithm, AlgTool, MinimalEventLoopMgr, Service, GaudiPython::PyAlgorithm, ApplicationMgr, AppMgrRunable, EventLoopMgr, and OutputFSRStream.

virtual StatusCode IStateful::finalize | ( |  | ) | `[pure virtual]`

Finalize (from INITIALIZED to CONFIGURED).

Implemented in EventCounter, GaudiAlgorithm, GaudiHistoAlg, GaudiHistoTool, GaudiSequencer, GaudiTool, GaudiTupleAlg, GaudiTupleTool, Prescaler, Sequencer, SequencerTimerTool, GFALDataStreamTool, EqSolver, FuncMinimum, GslErrorCount, GslSvc, Algorithm, AlgTool, ConversionSvc, DataStreamTool, DataSvc, MinimalEventLoopMgr, Service, DataListenerSvc, PoolDbCacheSvc, PoolDbCnvSvc, PoolDbEvtSelector, GaudiPython::PyAlgorithm, PythonScriptingSvc, AIDATupleSvc, AlgContextSvc, ApplicationMgr, AppMgrRunable, EventLoopMgr, AuditorSvc, ChronoStatSvc, CounterSvc, EvtDataSvc, MultiStoreSvc, PartitionSwitchAlg, PartitionSwitchTool, RunRecordDataSvc, StoreExplorerAlg, DetDataSvc, EventCollectionSelector, EventSelector, ExceptionSvc, FastContainersSvc, HistogramSvc, HistorySvc, DataOnDemandSvc, IncidentSvc, IssueLogger, JobOptionsSvc, MessageSvc, CollectionCloneAlg, NTupleSvc, TagCollectionSvc, ParticlePropertySvc, DetPersistencySvc, EvtCollectionStream, EvtPersistencySvc, HistogramPersistencySvc, OutputFSRStream, OutputStream, PersistencySvc, RunRecordStream, TagCollectionStream, HepRndm::Engine< TYPE >, RndmEngine, RndmGenSvc, StatusCodeSvc, THistSvc, ToolSvc, VFSSvc, Gaudi::IODataManager, Gaudi::MultiFileCatalog, HbookCnv::PersSvc, PartPropSvc, RootHistCnv::PersSvc, GaudiCommon< Algorithm >, GaudiCommon< AlgTool >, GaudiHistos< GaudiAlgorithm >, GaudiHistos< GaudiTool >, GaudiTuples< GaudiHistoTool >, and GaudiTuples< GaudiHistoAlg >.

virtual StatusCode IStateful::terminate | ( |  | ) | `[pure virtual]`

Initialization (from CONFIGURED to OFFLINE).

Implemented in Algorithm, AlgTool, Service, and ApplicationMgr.

virtual StatusCode IStateful::reinitialize | ( |  | ) | `[pure virtual]`

Initialization (from INITIALIZED or RUNNING to INITIALIZED, via CONFIGURED).

Implemented in Sequencer, Algorithm, AlgTool, DataSvc, MinimalEventLoopMgr, Service, AIDATupleSvc, ApplicationMgr, EventLoopMgr, EvtDataSvc, MultiStoreSvc, RunRecordDataSvc, DetDataSvc, EventSelector, FastContainersSvc, HistogramSvc, HistorySvc, DataOnDemandSvc, IssueLogger, MessageSvc, NTupleSvc, HistogramPersistencySvc, StatusCodeSvc, and THistSvc.

virtual StatusCode IStateful::restart | ( |  | ) | `[pure virtual]`

Initialization (from RUNNING to RUNNING, via INITIALIZED).

Implemented in Algorithm, AlgTool, MinimalEventLoopMgr, Service, and ApplicationMgr.

virtual Gaudi::StateMachine::State IStateful::FSMState | ( |  | ) | const`[pure virtual]`

Get the current state.

Implemented in Algorithm, AlgTool, Service, and ApplicationMgr.

virtual Gaudi::StateMachine::State IStateful::targetFSMState | ( |  | ) | const`[pure virtual]`

When we are in the middle of a transition, get the state where the transition is leading us.

Otherwise it returns the same state as state().

Implemented in Algorithm, AlgTool, Service, and ApplicationMgr.

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

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v20r4/GaudiKernel/GaudiKernel/IStateful.h