ATLAS Offline Software
Loading...
Searching...
No Matches
MuonG4SDConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2
3from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4
6 result = ComponentAccumulator()
7 tools = []
8
9 from AthenaConfiguration.Enums import BeamType
10 if flags.Beam.Type is BeamType.Cosmics:
11 if flags.Detector.EnableMDT:
12 from MuonG4SD.MuonG4SDToolConfig import MDTSensitiveDetectorCosmicsCfg
13 tools += [ result.popToolsAndMerge(MDTSensitiveDetectorCosmicsCfg(flags)) ]
14 if flags.Detector.EnableRPC:
15 from MuonG4SD.MuonG4SDToolConfig import RPCSensitiveDetectorCosmicsCfg
16 tools += [ result.popToolsAndMerge(RPCSensitiveDetectorCosmicsCfg(flags)) ]
17 if flags.Detector.EnableTGC:
18 from MuonG4SD.MuonG4SDToolConfig import TGCSensitiveDetectorCosmicsCfg
19 tools += [ result.popToolsAndMerge(TGCSensitiveDetectorCosmicsCfg(flags)) ]
20 if flags.Detector.EnableCSC:
21 from MuonG4SD.MuonG4SDToolConfig import CSCSensitiveDetectorCosmicsCfg
22 tools += [ result.popToolsAndMerge(CSCSensitiveDetectorCosmicsCfg(flags)) ]
23 else:
24 if flags.Detector.EnableMDT:
25 from MuonG4SD.MuonG4SDToolConfig import MDTSensitiveDetectorCfg
26 tools += [ result.popToolsAndMerge(MDTSensitiveDetectorCfg(flags)) ]
27 if flags.Detector.EnableRPC:
28 from MuonG4SD.MuonG4SDToolConfig import RPCSensitiveDetectorCfg
29 tools += [ result.popToolsAndMerge(RPCSensitiveDetectorCfg(flags)) ]
30 if flags.Detector.EnableTGC:
31 from MuonG4SD.MuonG4SDToolConfig import TGCSensitiveDetectorCfg
32 tools += [ result.popToolsAndMerge(TGCSensitiveDetectorCfg(flags)) ]
33 if flags.Detector.EnableCSC:
34 from MuonG4SD.MuonG4SDToolConfig import CSCSensitiveDetectorCfg
35 tools += [ result.popToolsAndMerge(CSCSensitiveDetectorCfg(flags)) ]
36
37 if flags.Detector.EnablesTGC :
38 from MuonG4SD.MuonG4SDToolConfig import sTGCSensitiveDetectorCfg
39 tools += [ result.popToolsAndMerge(sTGCSensitiveDetectorCfg(flags)) ]
40 if flags.Detector.EnableMM :
41 from MuonG4SD.MuonG4SDToolConfig import MicromegasSensitiveDetectorCfg
42 tools += [ result.popToolsAndMerge(MicromegasSensitiveDetectorCfg(flags)) ]
43
44 result.setPrivateTools(tools)
45 return result
46
47
49 simHitContainers = []
50 if flags.Detector.EnableMDT:
51 simHitContainers+=[("MDTSimHitCollection", "MDT_Hits")]
52 if (flags.Sim.ISFRun and flags.Sim.ISF.HITSMergingRequired.get('MUON', True)):
53 simHitContainers+=[("MDTSimHitCollection", "MDT_Hits_G4")]
54 if (not ('G4MS' in flags.Sim.ISF.Simulator.value and 'ACTS' in flags.Sim.ISF.Simulator.value)):
55 simHitContainers+=[("MDTSimHitCollection", "MDT_Hits_Fatras")]
56 if flags.Detector.EnableRPC:
57 simHitContainers+=[("RPCSimHitCollection", "RPC_Hits")]
58 if (flags.Sim.ISFRun and flags.Sim.ISF.HITSMergingRequired.get('MUON', True)):
59 simHitContainers+=[("RPCSimHitCollection", "RPC_Hits_G4")]
60 if (not ('G4MS' in flags.Sim.ISF.Simulator.value and 'ACTS' in flags.Sim.ISF.Simulator.value)):
61 simHitContainers+=[("RPCSimHitCollection", "RPC_Hits_Fatras")]
62 if flags.Detector.EnableTGC:
63 simHitContainers+=[("TGCSimHitCollection", "TGC_Hits")]
64 if (flags.Sim.ISFRun and flags.Sim.ISF.HITSMergingRequired.get('MUON', True)):
65 simHitContainers+=[("TGCSimHitCollection", "TGC_Hits_G4")]
66 if (not ('G4MS' in flags.Sim.ISF.Simulator.value and 'ACTS' in flags.Sim.ISF.Simulator.value)):
67 simHitContainers+=[("TGCSimHitCollection", "TGC_Hits_Fatras")]
68 if flags.Detector.EnableMM:
69 simHitContainers+=[("MMSimHitCollection", "MM_Hits")]
70 if (flags.Sim.ISFRun and flags.Sim.ISF.HITSMergingRequired.get('MUON', True)):
71 simHitContainers+=[("MMSimHitCollection", "MM_Hits_G4")]
72 if (not ('G4MS' in flags.Sim.ISF.Simulator.value and 'ACTS' in flags.Sim.ISF.Simulator.value)):
73 simHitContainers+=[("MMSimHitCollection", "MM_Hits_Fatras")]
74 if flags.Detector.EnablesTGC:
75 simHitContainers+=[("sTGCSimHitCollection", "sTGC_Hits")]
76 if (flags.Sim.ISFRun and flags.Sim.ISF.HITSMergingRequired.get('MUON', True)):
77 simHitContainers+=[("sTGCSimHitCollection", "sTGC_Hits_G4")]
78 if (not ('G4MS' in flags.Sim.ISF.Simulator.value and 'ACTS' in flags.Sim.ISF.Simulator.value)):
79 simHitContainers+=[("sTGCSimHitCollection", "sTGC_Hits_Fatras")]
80 if flags.Detector.EnableCSC:
81 simHitContainers+=[("CSCSimHitCollection", "CSC_Hits")]
82 if (flags.Sim.ISFRun and flags.Sim.ISF.HITSMergingRequired.get('MUON', True)):
83 simHitContainers+=[("CSCSimHitCollection", "CSC_Hits_G4")]
84 if (not ('G4MS' in flags.Sim.ISF.Simulator.value and 'ACTS' in flags.Sim.ISF.Simulator.value)):
85 simHitContainers+=[("CSCSimHitCollection", "CSC_Hits_Fatras")]
86 return simHitContainers
87
89 return [f"{contType}#{contName}" for contType, contName in SimHitContainerListCfg(flags) ]
OutputSimContainersCfg(flags)
SimHitContainerListCfg(flags)
SetupSensitiveDetectorsCfg(flags)