The Gaudi Framework  master (37c0b60a)
IThreadInitTool.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2024 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
11 #ifndef GAUDIKERNEL_ITHREADINITTOOL_H
12 #define GAUDIKERNEL_ITHREADINITTOOL_H 1
13 
14 #include <GaudiKernel/IAlgTool.h>
15 
16 //-----------------------------------------------------------------------------
17 
32 //-----------------------------------------------------------------------------
33 
34 class IThreadInitTool : virtual public IAlgTool {
35 
36 public:
39 
41  virtual void initThread() = 0;
42 
44  virtual void terminateThread() = 0;
45 
51  virtual unsigned int nInit() const = 0;
52 };
53 
54 #endif
IAlgTool
Definition: IAlgTool.h:33
IThreadInitTool
Abstract interface for AlgTools to do thread local initialization.
Definition: IThreadInitTool.h:34
IThreadInitTool::DeclareInterfaceID
DeclareInterfaceID(IThreadInitTool, 1, 0)
Declare the interface to the framework.
IThreadInitTool::nInit
virtual unsigned int nInit() const =0
Number of threads initialized.
IAlgTool.h
IThreadInitTool::initThread
virtual void initThread()=0
Perform worker thread initialization. Called concurrently on each thread.
IThreadInitTool::terminateThread
virtual void terminateThread()=0
Perform worker thread finalization. Called concurrently on each thread.