| The Gaudi Framework v29r1 (5cd95fa2)

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

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

Public Member Functions | List of all members
IThreadInitTool Class Referenceabstract

Abstract interface for AlgTools to do thread local initialization. More...

`#include <GaudiKernel/IThreadInitTool.h>`

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

## Public Member Functions
| DeclareInterfaceID (IThreadInitTool, 1, 0)
| Declare the interface to the framework. More...
virtual void | initThread ()=0
| Perform worker thread initialization. Called concurrently on each thread. More...
virtual void | terminateThread ()=0
| Perform worker thread finalization. Called concurrently on each thread. More...
virtual unsigned int | nInit () const =0
| Number of threads initialized. More...
Public Member Functions inherited from IAlgTool
| DeclareInterfaceID (IAlgTool, 4, 0)
| InterfaceID. More...
virtual const std::string & | type () const =0
| The type of an AlgTool, meaning the concrete AlgTool class. More...
virtual const IInterface * | parent () const =0
| The parent of the concrete AlgTool. More...
virtual StatusCode | configure ()=0
| Configuration (from OFFLINE to CONFIGURED). More...
virtual StatusCode | initialize ()=0
| Initialization (from CONFIGURED to INITIALIZED). More...
virtual StatusCode | start ()=0
| Start (from INITIALIZED to RUNNING). More...
virtual StatusCode | stop ()=0
| Stop (from RUNNING to INITIALIZED). More...
virtual StatusCode | finalize ()=0
| Finalize (from INITIALIZED to CONFIGURED). More...
virtual StatusCode | terminate ()=0
| Initialization (from CONFIGURED to OFFLINE). More...
virtual StatusCode | reinitialize ()=0
| Initialization (from INITIALIZED or RUNNING to INITIALIZED, via CONFIGURED). More...
virtual StatusCode | restart ()=0
| Initialization (from RUNNING to RUNNING, via INITIALIZED). More...
virtual Gaudi::StateMachine::State | FSMState () const =0
| Get the current state. More...
virtual StatusCode | sysInitialize ()=0
| Initialization of the Tool. More...
virtual StatusCode | sysStart ()=0
| Initialization of the Tool. More...
virtual StatusCode | sysStop ()=0
| Initialization of the Tool. More...
virtual StatusCode | sysFinalize ()=0
| Finalization of the Tool. More...
virtual StatusCode | sysReinitialize ()=0
| Initialization of the Tool. More...
virtual StatusCode | sysRestart ()=0
| Initialization of the Tool. More...
Public Member Functions inherited from INamedInterface
| DeclareInterfaceID (INamedInterface, 1, 0)
| InterfaceID. More...
virtual const std::string & | name () const =0
| Retrieve the name of the instance. More...
Public Member Functions inherited from IInterface
virtual void * | i_cast (const InterfaceID &) const =0
| main cast function More...
virtual std::vector< std::string > | getInterfaceNames () const =0
| Returns a vector of strings containing the names of all the implemented interfaces. More...
virtual unsigned long | addRef ()=0
| Increment the reference count of Interface instance. More...
virtual unsigned long | release ()=0
| Release Interface instance. More...
virtual unsigned long | refCount () const =0
| Current reference count. More...
virtual StatusCode | queryInterface (const InterfaceID &ti, void **pp)=0
| Set the void** to the pointer to the requested interface of the instance. More...
virtual | ~IInterface ()=default
| Virtual destructor. More...

## Additional Inherited Members
Public Types inherited from IInterface
enum | Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR }
| Return status. More...
using | iid = Gaudi::InterfaceId< IInterface, 0, 0 >
| Interface ID. More...
using | ext_iids = Gaudi::interface_list< iid >
| Extra interfaces. More...
Static Public Member Functions inherited from IInterface
static const InterfaceID & | interfaceID ()
| Return an instance of InterfaceID identifying the interface. More...

## Detailed Description

Abstract interface for AlgTools to do thread local initialization.

Tools that implement this interface can be plugged into a ThreadPoolSvc to be called during the initialization of each worker thread to do thread-local setup. Correspondingly, the tool will be invoked again at the end of processing in each thread to do thread-local cleanup or final work.

Author
  Charles Leggett

Date
  2015-09-01

Definition at line 24 of file IThreadInitTool.h.

## Member Function Documentation

IThreadInitTool::DeclareInterfaceID | ( | IThreadInitTool | ,
|  | 1 | ,
|  | 0 |
| ) |  |

Declare the interface to the framework.

virtual void IThreadInitTool::initThread | ( |  | ) |
| pure virtual

Perform worker thread initialization. Called concurrently on each thread.

virtual unsigned int IThreadInitTool::nInit | ( |  | ) | const
| pure virtual

Number of threads initialized.

Used for some error checking. The count must be atomically incremented during initialization and atomically decremented during finalization.

virtual void IThreadInitTool::terminateThread | ( |  | ) |
| pure virtual

Perform worker thread finalization. Called concurrently on each thread.

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

- GaudiKernel/GaudiKernel/IThreadInitTool.h