ATLAS Offline Software
G4InitTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef G4HIVEEX_G4INITTOOL_H
6 #define G4HIVEEX_G4INITTOOL_H
7 
9 #include "GaudiKernel/IThreadInitTool.h"
10 
11 #include <string>
12 #include <atomic>
13 
14 class G4InitTool: virtual public extends<AthAlgTool, IThreadInitTool> {
15 
16 public:
17  G4InitTool( const std::string&, const std::string&, const IInterface* );
18 
19  // the magic method this tool provides
20  virtual void initThread();
21  virtual void terminateThread();
22  virtual unsigned int nInit() const { return m_nInitThreads; }
23 
24 private:
25  // Number of threads that have been initialized
26  std::atomic_uint m_nInitThreads;
27 
28 };
29 
30 #endif
G4InitTool::m_nInitThreads
std::atomic_uint m_nInitThreads
Definition: G4InitTool.h:26
G4InitTool::G4InitTool
G4InitTool(const std::string &, const std::string &, const IInterface *)
Definition: G4InitTool.cxx:27
G4InitTool::nInit
virtual unsigned int nInit() const
Definition: G4InitTool.h:22
AthAlgTool.h
G4InitTool::terminateThread
virtual void terminateThread()
Definition: G4InitTool.cxx:114
G4InitTool::initThread
virtual void initThread()
Definition: G4InitTool.cxx:39
G4InitTool
Definition: G4InitTool.h:14