ATLAS Offline Software
Functions
python.ISF_Geant4ToolsConfig Namespace Reference

Functions

def G4RunManagerHelperCfg (flags, name="G4RunManagerHelper", **kwargs)
 
def Geant4ToolCfg (flags, name="ISF_Geant4Tool", **kwargs)
 
def FullGeant4ToolCfg (flags, name="ISF_FullGeant4Tool", **kwargs)
 
def PassBackGeant4ToolCfg (flags, name="ISF_PassBackGeant4Tool", **kwargs)
 
def 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()

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

Definition at line 98 of file ISF_Geant4ToolsConfig.py.

98 def 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()

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

Definition at line 82 of file ISF_Geant4ToolsConfig.py.

82 def 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()

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

Definition at line 27 of file ISF_Geant4ToolsConfig.py.

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

◆ Geant4ToolCfg()

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

Definition at line 33 of file ISF_Geant4ToolsConfig.py.

33 def 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()

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

Definition at line 90 of file ISF_Geant4ToolsConfig.py.

90 def 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 
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
G4AtlasUserActionConfig.ISFFullUserActionSvcCfg
def ISFFullUserActionSvcCfg(flags, name="G4UA::ISFFullUserActionSvc", **kwargs)
Definition: G4AtlasUserActionConfig.py:212
python.ISF_Geant4ToolsConfig.FullGeant4ToolCfg
def FullGeant4ToolCfg(flags, name="ISF_FullGeant4Tool", **kwargs)
Definition: ISF_Geant4ToolsConfig.py:82
G4AtlasToolsConfig.FastSimulationMasterToolCfg
def FastSimulationMasterToolCfg(flags, **kwargs)
Definition: G4AtlasToolsConfig.py:61
python.ISF_Geant4ToolsConfig.G4RunManagerHelperCfg
def G4RunManagerHelperCfg(flags, name="G4RunManagerHelper", **kwargs)
Definition: ISF_Geant4ToolsConfig.py:27
G4AtlasToolsConfig.G4ThreadPoolSvcCfg
def G4ThreadPoolSvcCfg(flags)
Definition: G4AtlasToolsConfig.py:52
G4AtlasUserActionConfig.ISFPassBackUserActionSvcCfg
def ISFPassBackUserActionSvcCfg(flags, name="G4UA::ISFPassBackUserActionSvc", **kwargs)
Definition: G4AtlasUserActionConfig.py:222
G4AtlasUserActionConfig.ISF_ATLFAST_UserActionSvcCfg
def ISF_ATLFAST_UserActionSvcCfg(flags, name="G4UA::ISF_ATLFAST_UserActionSvc", **kwargs)
Definition: G4AtlasUserActionConfig.py:233
G4AtlasToolsConfig.PunchThroughG4ToolCfg
def PunchThroughG4ToolCfg(flags, name='PunchThroughG4Tool', **kwargs)
Definition: G4AtlasToolsConfig.py:108
G4AtlasServicesConfig.PhysicsListSvcCfg
def PhysicsListSvcCfg(flags, name="PhysicsListSvc", **kwargs)
Definition: G4AtlasServicesConfig.py:14
python.ISF_Geant4ToolsConfig.Geant4ToolCfg
def Geant4ToolCfg(flags, name="ISF_Geant4Tool", **kwargs)
Definition: ISF_Geant4ToolsConfig.py:33
python.ISF_Geant4ToolsConfig.ATLFAST_Geant4ToolCfg
def ATLFAST_Geant4ToolCfg(flags, name="ISF_ATLFAST_Geant4Tool", **kwargs)
Definition: ISF_Geant4ToolsConfig.py:98
python.ISF_Geant4ToolsConfig.PassBackGeant4ToolCfg
def PassBackGeant4ToolCfg(flags, name="ISF_PassBackGeant4Tool", **kwargs)
Definition: ISF_Geant4ToolsConfig.py:90
ISF_ServicesConfig.InputConverterCfg
def InputConverterCfg(flags, name="ISF_InputConverter", **kwargs)
Definition: ISF_ServicesConfig.py:33
MuonG4SDConfig.SimHitContainerListCfg
def SimHitContainerListCfg(flags)
Definition: MuonG4SDConfig.py:48
G4GeometryToolConfig.G4AtlasDetectorConstructionToolCfg
def G4AtlasDetectorConstructionToolCfg(flags, name="G4AtlasDetectorConstructionTool", **kwargs)
Definition: G4GeometryToolConfig.py:702
G4AtlasToolsConfig.SensitiveDetectorMasterToolCfg
def SensitiveDetectorMasterToolCfg(flags, name="SensitiveDetectorMasterTool", **kwargs)
Definition: G4AtlasToolsConfig.py:472
G4AtlasUserActionConfig.ISFUserActionSvcCfg
def ISFUserActionSvcCfg(flags, name="G4UA::ISFUserActionSvc", **kwargs)
Definition: G4AtlasUserActionConfig.py:190
RngCompsConfig.AthRNGSvcCfg
def AthRNGSvcCfg(flags, name="AthRNGSvc")
Definition: RngCompsConfig.py:51