ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
G4Sim
MCTruthBase
src
TruthStrategyManager.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// class header
6
#include "
MCTruthBase/TruthStrategyManager.h
"
7
8
// Framework includes
9
#include "
AthenaBaseComps/AthMsgStreamMacros.h
"
10
11
#include "
TruthUtils/MagicNumbers.h
"
12
13
// Geant4 Includes
14
#include "G4Event.hh"
15
#include "G4EventManager.hh"
16
#include "G4PhysicalVolumeStore.hh"
17
#include "G4Step.hh"
18
#include "G4TransportationManager.hh"
19
#include "G4VPhysicalVolume.hh"
20
#include "G4VSolid.hh"
21
22
// ISF includes
23
#include "
ISF_Interfaces/ITruthSvc.h
"
24
#include "
ISF_Interfaces/IGeoIDSvc.h
"
25
#include "
ISF_Event/ISFParticle.h
"
26
27
// DetectorDescription
28
#include "
AtlasDetDescr/AtlasRegionHelper.h
"
29
#include "
ISF_Geant4Event/Geant4TruthIncident.h
"
30
#include "
ISF_Geant4Event/ISFG4GeoHelper.h
"
31
32
TruthStrategyManager::TruthStrategyManager
()
33
:
m_truthSvc
(nullptr)
34
,
m_geoIDSvc
(nullptr)
35
{
36
}
37
38
const
TruthStrategyManager
&
TruthStrategyManager::GetStrategyManager
()
39
{
40
static
const
TruthStrategyManager
theMgr;
41
return
theMgr;
42
}
43
44
TruthStrategyManager
& TruthStrategyManager::GetStrategyManager_nc
ATLAS_NOT_THREAD_SAFE
()
45
{
46
return
const_cast<
TruthStrategyManager
&
>
(GetStrategyManager());
47
}
48
49
void
TruthStrategyManager::SetISFTruthSvc
(
ISF::ITruthSvc
*truthSvc)
50
{
51
m_truthSvc
= truthSvc;
52
}
53
54
55
void
TruthStrategyManager::SetISFGeoIDSvc
(
ISF::IGeoIDSvc
*geoIDSvc)
56
{
57
m_geoIDSvc
= geoIDSvc;
58
}
59
60
bool
TruthStrategyManager::CreateTruthIncident
(
const
G4Step* aStep,
int
subDetVolLevel)
const
61
{
62
AtlasDetDescr::AtlasRegion
geoID =
iGeant4::ISFG4GeoHelper::nextGeoId
(aStep, subDetVolLevel,
m_geoIDSvc
);
63
64
iGeant4::Geant4TruthIncident
truth(aStep, geoID);
65
66
m_truthSvc
->registerTruthIncident(truth);
67
return
false
;
68
}
69
AthMsgStreamMacros.h
AtlasRegionHelper.h
Geant4TruthIncident.h
IGeoIDSvc.h
ISFG4GeoHelper.h
ISFParticle.h
ITruthSvc.h
MagicNumbers.h
ATLAS_NOT_THREAD_SAFE
TruthStrategyManager &TruthStrategyManager::GetStrategyManager_nc ATLAS_NOT_THREAD_SAFE()
Install fatal handler with default options.
Definition
TruthStrategyManager.cxx:44
TruthStrategyManager.h
ISF::IGeoIDSvc
The interface to chose between the sub geometry services, realized as an AlgTool since it does not ha...
Definition
IGeoIDSvc.h:41
ISF::ITruthSvc
@ class ITruthSvc
Definition
ITruthSvc.h:29
TruthStrategyManager
Singleton class for creating truth incidents.
Definition
TruthStrategyManager.h:23
TruthStrategyManager::m_truthSvc
ISF::ITruthSvc * m_truthSvc
ISF Services the TruthStrategyManager talks to.
Definition
TruthStrategyManager.h:48
TruthStrategyManager::m_geoIDSvc
ISF::IGeoIDSvc * m_geoIDSvc
Definition
TruthStrategyManager.h:49
TruthStrategyManager::TruthStrategyManager
TruthStrategyManager()
Definition
TruthStrategyManager.cxx:32
TruthStrategyManager::SetISFGeoIDSvc
void SetISFGeoIDSvc(ISF::IGeoIDSvc *geoIDSvc)
Define which ISF GeoIDSvc to use.
Definition
TruthStrategyManager.cxx:55
TruthStrategyManager::SetISFTruthSvc
void SetISFTruthSvc(ISF::ITruthSvc *truthSvc)
Define which ISF TruthService to use.
Definition
TruthStrategyManager.cxx:49
TruthStrategyManager::CreateTruthIncident
bool CreateTruthIncident(const G4Step *, int subDetVolLevel) const
Returns true if any of the truth strategies return true.
Definition
TruthStrategyManager.cxx:60
TruthStrategyManager::GetStrategyManager
static const TruthStrategyManager & GetStrategyManager()
Retrieve the (const) singleton instance.
Definition
TruthStrategyManager.cxx:38
iGeant4::Geant4TruthIncident
ISF_Geant4 specific implementation of the ISF::ITruthIncident.
Definition
Geant4TruthIncident.h:42
iGeant4::ISFG4GeoHelper::nextGeoId
static AtlasDetDescr::AtlasRegion nextGeoId(const G4Step *aStep, int truthVolLevel, ISF::IGeoIDSvc *geoIDSvc)
Definition
ISFG4GeoHelper.cxx:20
AtlasDetDescr::AtlasRegion
AtlasRegion
A simple enum of ATLAS regions and sub-detectors.
Definition
AtlasRegion.h:21
Generated on
for ATLAS Offline Software by
1.17.0