ATLAS Offline Software
Loading...
Searching...
No Matches
python.ISF_Geant4ToolsConfig Namespace Reference

Functions

 G4RunManagerHelperCfg (flags, name="G4RunManagerHelper", **kwargs)
 Geant4ToolCfg (flags, name="ISF_Geant4Tool", **kwargs)
 FullGeant4ToolCfg (flags, name="ISF_FullGeant4Tool", **kwargs)
 PassBackGeant4ToolCfg (flags, name="ISF_PassBackGeant4Tool", **kwargs)
 ATLFAST_Geant4ToolCfg (flags, name="ISF_ATLFAST_Geant4Tool", **kwargs)

Detailed Description

Geant4 tools config for ISF with ComponentAccumulator

Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration

Function Documentation

◆ ATLFAST_Geant4ToolCfg()

python.ISF_Geant4ToolsConfig.ATLFAST_Geant4ToolCfg ( flags,
name = "ISF_ATLFAST_Geant4Tool",
** kwargs )

Definition at line 98 of file ISF_Geant4ToolsConfig.py.

98def ATLFAST_Geant4ToolCfg(flags, name="ISF_ATLFAST_Geant4Tool", **kwargs): # TODO Rename
99 acc = ComponentAccumulator()
100 kwargs.setdefault("UserActionSvc", acc.getPrimaryAndMerge(ISF_ATLFAST_UserActionSvcCfg(flags)))
101 PassBackGeant4Tool = acc.popToolsAndMerge(Geant4ToolCfg(flags, name, **kwargs))
102 acc.setPrivateTools(PassBackGeant4Tool)
103 return acc

◆ FullGeant4ToolCfg()

python.ISF_Geant4ToolsConfig.FullGeant4ToolCfg ( flags,
name = "ISF_FullGeant4Tool",
** kwargs )

Definition at line 82 of file ISF_Geant4ToolsConfig.py.

82def FullGeant4ToolCfg(flags, name="ISF_FullGeant4Tool", **kwargs):
83 acc = ComponentAccumulator()
84 kwargs.setdefault("UserActionSvc", acc.getPrimaryAndMerge(ISFFullUserActionSvcCfg(flags)))
85 FullGeant4Tool = acc.popToolsAndMerge(Geant4ToolCfg(flags, name, **kwargs))
86 acc.setPrivateTools(FullGeant4Tool)
87 return acc
88
89

◆ G4RunManagerHelperCfg()

python.ISF_Geant4ToolsConfig.G4RunManagerHelperCfg ( flags,
name = "G4RunManagerHelper",
** kwargs )

Definition at line 27 of file ISF_Geant4ToolsConfig.py.

27def G4RunManagerHelperCfg(flags, name="G4RunManagerHelper", **kwargs):
28 acc = ComponentAccumulator()
29 acc.setPrivateTools(CompFactory.iGeant4.G4RunManagerHelper(name, **kwargs))
30 return acc
31
32

◆ Geant4ToolCfg()

python.ISF_Geant4ToolsConfig.Geant4ToolCfg ( flags,
name = "ISF_Geant4Tool",
** kwargs )

Definition at line 33 of file ISF_Geant4ToolsConfig.py.

33def Geant4ToolCfg(flags, name="ISF_Geant4Tool", **kwargs):
34 acc = ComponentAccumulator()
35 kwargs.setdefault("DetectorConstruction", acc.addPublicTool(acc.popToolsAndMerge(G4AtlasDetectorConstructionToolCfg(flags))))
36
37 kwargs.setdefault("RandomNumberService", acc.getPrimaryAndMerge(AthRNGSvcCfg(flags)))
38
39 # Only add it if it's not added already
40 if "InputConverter" not in kwargs.keys():
41 kwargs.setdefault("InputConverter", acc.getPrimaryAndMerge(InputConverterCfg(flags)))
42
43 if "UserActionSvc" not in kwargs.keys():
44 kwargs.setdefault("UserActionSvc", acc.getPrimaryAndMerge(ISFUserActionSvcCfg(flags)))
45 from SimulationConfig.SimEnums import LArParameterization
46 if flags.Sim.LArParameterization is LArParameterization.FastCaloSim:
47 from G4AtlasTools.G4AtlasToolsConfig import PunchThroughG4ToolCfg
48 physics_initialization_tools = kwargs.setdefault("PhysicsInitializationTools", [])
49 physics_initialization_tools.append(acc.addPublicTool(acc.popToolsAndMerge(PunchThroughG4ToolCfg(flags))))
50
51 kwargs.setdefault("RecordFlux", flags.Sim.RecordFlux)
52
53 kwargs.setdefault("QuietMode", flags.Exec.QuietMode)
54
55 kwargs.setdefault("MultiThreading", flags.Concurrency.NumThreads > 0)
56 # Set commands for the G4AtlasAlg
57 kwargs.setdefault("G4Commands", flags.Sim.G4Commands)
58 kwargs.setdefault("PrintTimingInfo", flags.Sim.ISF.DoTimeMonitoring)
59 if "SenDetMasterTool" not in kwargs:
60 kwargs.setdefault("SenDetMasterTool", acc.addPublicTool(acc.popToolsAndMerge(SensitiveDetectorMasterToolCfg(flags))))
61 if "FastSimMasterTool" not in kwargs:
62 kwargs.setdefault("FastSimMasterTool", acc.addPublicTool(acc.popToolsAndMerge(FastSimulationMasterToolCfg(flags))))
63
64 # PhysicsListSvc
65 kwargs.setdefault("PhysicsListSvc", acc.getPrimaryAndMerge(PhysicsListSvcCfg(flags)))
66
67 if flags.Sim.ISF.Simulator.isMT():
68 from G4AtlasTools.G4AtlasToolsConfig import SimHitContainerListCfg
69 kwargs.setdefault("ExtraOutputs", SimHitContainerListCfg(flags) )
70
71 # Workaround to keep other simulation flavours working while we migrate everything to be AthenaMT-compatible.
72 from SimulationConfig.SimEnums import SimulationFlavour
73 if flags.Sim.ISF.Simulator in [SimulationFlavour.ATLFAST3F_ACTSMT, SimulationFlavour.FullG4MT, SimulationFlavour.FullG4MT_QS, SimulationFlavour.PassBackG4MT, SimulationFlavour.ATLFAST3MT, SimulationFlavour.ATLFAST3MT_QS]:
74 acc.merge(G4ThreadPoolSvcCfg(flags))
75 acc.setPrivateTools(CompFactory.iGeant4.G4TransportTool(name, **kwargs))
76 else:
77 kwargs.setdefault("G4RunManagerHelper", acc.addPublicTool(acc.popToolsAndMerge(G4RunManagerHelperCfg(flags))))
78 acc.setPrivateTools(CompFactory.iGeant4.G4LegacyTransportTool(name, **kwargs))
79 return acc
80
81

◆ PassBackGeant4ToolCfg()

python.ISF_Geant4ToolsConfig.PassBackGeant4ToolCfg ( flags,
name = "ISF_PassBackGeant4Tool",
** kwargs )

Definition at line 90 of file ISF_Geant4ToolsConfig.py.

90def PassBackGeant4ToolCfg(flags, name="ISF_PassBackGeant4Tool", **kwargs):
91 acc = ComponentAccumulator()
92 kwargs.setdefault("UserActionSvc", acc.getPrimaryAndMerge(ISFPassBackUserActionSvcCfg(flags)))
93 PassBackGeant4Tool = acc.popToolsAndMerge(Geant4ToolCfg(flags, name, **kwargs))
94 acc.setPrivateTools(PassBackGeant4Tool)
95 return acc
96
97