ATLAS Offline Software
Loading...
Searching...
No Matches
G4RunManagerHelper.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
6// G4RunManagerHelper.cxx, (c) ATLAS Detector software
8
9// class header
10#include "G4RunManagerHelper.h"
11
12// package includes
14
15// Geant4 includes
16#include "G4VUserPhysicsList.hh"
17#include "QGSP_BERT.hh"
18
20 const std::string& name,
21 const IInterface* parent)
22 : base_class(type,name,parent),
25{
26}
27
31
33{
34 ATH_MSG_INFO("Initializing G4RunManagerHelper");
35
36 return StatusCode::SUCCESS;
37}
38
39
40G4AtlasRunManager* iGeant4::G4RunManagerHelper::g4RunManager ATLAS_NOT_THREAD_SAFE ()
41
42{
43 if (m_g4RunManager) return m_g4RunManager;
44
45 m_g4RunManager = G4AtlasRunManager::GetG4AtlasRunManager();
46
47 ATH_MSG_INFO("Initializing G4RunManager");
48
49 return m_g4RunManager;
50
51}
52
53
54G4RunManager* iGeant4::G4RunManagerHelper::fastG4RunManager ATLAS_NOT_THREAD_SAFE ()
55
56{
57 if (m_g4RunManager) return m_g4RunManager;
58
59 if (m_fastG4RunManager) return m_fastG4RunManager;
60
61 m_fastG4RunManager = new G4RunManager;
62
63 ATH_MSG_INFO("Initializing fast version of G4RunManager");
64
65 // initialize here
66 G4VUserPhysicsList *thePL = new QGSP_BERT;
67
68 m_fastG4RunManager->SetUserInitialization(thePL);
69 m_fastG4RunManager->SetUserInitialization(new G4DetectorConstruction());
70
71 // initialize Geant4
72 m_fastG4RunManager->Initialize();
73
74 return m_fastG4RunManager;
75
76}
#define ATH_MSG_INFO(x)
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
ATLAS custom singleton run manager.
G4AtlasRunManager * m_g4RunManager
virtual StatusCode initialize() override
G4RunManagerHelper(const std::string &type, const std::string &name, const IInterface *parent)