ATLAS Offline Software
Loading...
Searching...
No Matches
TrkDetDescrToolsConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2
3from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory import CompFactory
5from AthenaConfiguration.AccumulatorCache import AccumulatorCache
6
7def InDetTrackingVolumeHelperCfg(flags, name='InDetTrackingVolumeHelper',
8 **kwargs):
9 result = ComponentAccumulator()
10 result.setPrivateTools(CompFactory.Trk.TrackingVolumeHelper(name, **kwargs))
11 return result
12
13def ITkTrackingVolumeHelperCfg(flags, name='ITkTrackingVolumeHelper', **kwargs):
14 result = ComponentAccumulator()
15 kwargs.setdefault("BarrelLayerBinsZ",
16 flags.ITk.trackingGeometry.passiveBarrelMatZbins)
17 kwargs.setdefault("BarrelLayerBinsPhi",
18 flags.ITk.trackingGeometry.passiveBarrelMatPhiBins)
19 kwargs.setdefault("EndcapLayerBinsR",
20 flags.ITk.trackingGeometry.passiveEndcapMatRbins)
21 kwargs.setdefault("EndcapLayerBinsPhi",
22 flags.ITk.trackingGeometry.passiveEndcapMatPhiBins)
23 result.setPrivateTools(CompFactory.Trk.TrackingVolumeHelper(name, **kwargs))
24 return result
25
26# Generic interface for conveniency
27def TrackingVolumeHelperCfg(flags, name='TrackingVolumeHelper', **kwargs):
28 if flags.Detector.GeometryITk:
29 return ITkTrackingVolumeHelperCfg(flags, name, **kwargs)
30 else:
31 return InDetTrackingVolumeHelperCfg(flags, name, **kwargs)
32
33def HGTD_TrackingVolumeHelperCfg(flags, name='HGTD_TrackingVolumeHelper',
34 **kwargs):
35 result = ComponentAccumulator()
36 kwargs.setdefault("BarrelLayerBinsZ",
37 flags.HGTD.trackingGeometry.passiveBarrelMatZbins)
38 kwargs.setdefault("BarrelLayerBinsPhi",
39 flags.HGTD.trackingGeometry.passiveBarrelMatPhiBins)
40 kwargs.setdefault("EndcapLayerBinsR",
41 flags.HGTD.trackingGeometry.passiveEndcapMatRbins)
42 kwargs.setdefault("EndcapLayerBinsPhi",
43 flags.HGTD.trackingGeometry.passiveEndcapMatPhiBins)
44 result.setPrivateTools(CompFactory.Trk.TrackingVolumeHelper(name, **kwargs))
45 return result
46
47def TrackingVolumeArrayCreatorCfg(flags, name="TrackingVolumeArrayCreator",
48 **kwargs):
49 result = ComponentAccumulator()
50 result.setPrivateTools(
51 CompFactory.Trk.TrackingVolumeArrayCreator(name, **kwargs))
52 return result
53
54@AccumulatorCache
55def LayerArrayCreatorCfg(flags, name='LayerArrayCreator', **kwargs):
56 result = ComponentAccumulator()
57 kwargs.setdefault("EmptyLayerMode", 2) # deletes empty material layers from arrays
58 result.setPrivateTools(CompFactory.Trk.LayerArrayCreator(name, **kwargs))
59 return result
60
61def CylinderVolumeCreatorCfg(flags, name='CylinderVolumeCreator',
62 **kwargs):
63 result = ComponentAccumulator()
64
65 if "LayerArrayCreator" not in kwargs:
66 kwargs.setdefault("LayerArrayCreator", result.popToolsAndMerge(
68
69 if "TrackingVolumeArrayCreator" not in kwargs:
70 kwargs.setdefault("TrackingVolumeArrayCreator", result.popToolsAndMerge(
72
73 result.setPrivateTools(
74 CompFactory.Trk.CylinderVolumeCreator(name, **kwargs))
75 return result
76
77def InDetCylinderVolumeCreatorCfg(flags, name='InDetCylinderVolumeCreator',
78 **kwargs):
79 result = ComponentAccumulator()
80
81 if "TrackingVolumeHelper" not in kwargs:
82 kwargs.setdefault("TrackingVolumeHelper", result.popToolsAndMerge(
84
85 kwargs.setdefault("PassiveLayerBinsRZ", 1)
86
87 result.setPrivateTools(result.popToolsAndMerge(
88 CylinderVolumeCreatorCfg(flags, name, **kwargs)))
89 return result
90
91def ITkCylinderVolumeCreatorCfg(flags, name='ITkCylinderVolumeCreator',
92 **kwargs):
93 result = ComponentAccumulator()
94
95 if "TrackingVolumeHelper" not in kwargs:
96 kwargs.setdefault("TrackingVolumeHelper", result.popToolsAndMerge(
98
99 kwargs.setdefault("PassiveLayerThickness", 1.) # in mm
100 kwargs.setdefault("PassiveLayerBinsRZ",
101 flags.ITk.trackingGeometry.passiveBarrelMatZbins)
102 kwargs.setdefault("PassiveLayerBinsPhi",
103 flags.ITk.trackingGeometry.passiveBarrelMatPhiBins)
104
105 result.setPrivateTools(result.popToolsAndMerge(
106 CylinderVolumeCreatorCfg(flags, name, **kwargs)))
107 return result
108
109def HGTD_CylinderVolumeCreatorCfg(flags, name='HGTD_CylinderVolumeCreator',
110 **kwargs):
111 result = ComponentAccumulator()
112
113 if "TrackingVolumeHelper" not in kwargs:
114 kwargs.setdefault("TrackingVolumeHelper", result.popToolsAndMerge(
116
117 kwargs.setdefault("PassiveLayerBinsRZ",
118 flags.HGTD.trackingGeometry.passiveBarrelMatZbins)
119 kwargs.setdefault("PassiveLayerBinsPhi",
120 flags.HGTD.trackingGeometry.passiveBarrelMatPhiBins)
121
122 result.setPrivateTools(result.popToolsAndMerge(
123 CylinderVolumeCreatorCfg(flags, name, **kwargs)))
124 return result
125
126def ITkBeamPipeProviderCfg(flags, name='ITkBeamPipeProvider',
127 useCond=True,
128 **kwargs):
129 result = ComponentAccumulator()
130
131 if "LayerBuilder" not in kwargs:
132 from TrackingGeometryCondAlg.InDetTrackingGeometryConfig import (
133 ITkBeamPipeBuilderCfg)
134 beamPipeBuilder = result.popToolsAndMerge(
135 ITkBeamPipeBuilderCfg(flags, useCond = useCond))
136 result.addPublicTool(beamPipeBuilder)
137 kwargs.setdefault("LayerBuilder", beamPipeBuilder)
138
139 layerProvider = CompFactory.Trk.LayerProviderCond(name, **kwargs) \
140 if useCond else \
141 CompFactory.Trk.LayerProvider(name, **kwargs)
142 result.setPrivateTools(layerProvider)
143 return result
144
145def ITkPixelLayerProviderInnerCfg(flags, name='ITkPixelProviderInner',
146 useCond=True,
147 **kwargs):
148 result = ComponentAccumulator()
149
150 if "LayerBuilder" not in kwargs:
151 from TrackingGeometryCondAlg.InDetTrackingGeometryConfig import (
152 ITkPixelLayerBuilderInnerCfg)
153 layerBuilder = result.popToolsAndMerge(
154 ITkPixelLayerBuilderInnerCfg(flags, useCond = useCond))
155 result.addPublicTool(layerBuilder)
156 kwargs.setdefault("LayerBuilder", layerBuilder)
157
158 layerProvider = CompFactory.Trk.LayerProviderCond(name, **kwargs) \
159 if useCond else \
160 CompFactory.Trk.LayerProvider(name, **kwargs)
161 result.setPrivateTools(layerProvider)
162 return result
163
164def ITkPixelLayerProviderOuterCfg(flags, name='ITkPixelProviderOuter',
165 useCond=True,
166 **kwargs):
167 result = ComponentAccumulator()
168
169 if "LayerBuilder" not in kwargs:
170 from TrackingGeometryCondAlg.InDetTrackingGeometryConfig import (
171 ITkPixelLayerBuilderOuterCfg)
172 layerBuilder = result.popToolsAndMerge(
173 ITkPixelLayerBuilderOuterCfg(flags, useCond = useCond))
174 result.addPublicTool(layerBuilder)
175 kwargs.setdefault("LayerBuilder", layerBuilder)
176
177 layerProvider = CompFactory.Trk.LayerProviderCond(name, **kwargs) \
178 if useCond else \
179 CompFactory.Trk.LayerProvider(name, **kwargs)
180 result.setPrivateTools(layerProvider)
181 return result
182
183def ITkStripLayerProviderCfg(flags, name='ITkStripProvider',
184 useCond=True,
185 **kwargs):
186 result = ComponentAccumulator()
187
188 if "LayerBuilder" not in kwargs:
189 from TrackingGeometryCondAlg.InDetTrackingGeometryConfig import (
190 ITkStripLayerBuilderCfg)
191 layerBuilder = result.popToolsAndMerge(
192 ITkStripLayerBuilderCfg(flags, useCond = useCond))
193 result.addPublicTool(layerBuilder)
194 kwargs.setdefault("LayerBuilder", layerBuilder)
195
196 layerProvider = CompFactory.Trk.LayerProviderCond(name, **kwargs) \
197 if useCond else \
198 CompFactory.Trk.LayerProvider(name, **kwargs)
199 result.setPrivateTools(layerProvider)
200 return result
201
202def LayerMaterialProviderCfg(flags, name='AtlasMaterialCondProvider', **kwargs):
203 result = ComponentAccumulator()
204 result.setPrivateTools(
205 CompFactory.Trk.LayerMaterialProvider(name, **kwargs))
206 return result
207
208def InputLayerMaterialProviderCfg(flags, name='AtlasMaterialProvider',
209 **kwargs):
210 result = ComponentAccumulator()
211 result.setPrivateTools(
212 CompFactory.Trk.InputLayerMaterialProvider(name, **kwargs))
213 return result
214
215def LayerMaterialInspectorCfg(flags, name='AtlasLayerMaterialInspector',
216 **kwargs):
217 result = ComponentAccumulator()
218 result.setPrivateTools(
219 CompFactory.Trk.LayerMaterialInspector(name, **kwargs))
220 return result
LayerMaterialProviderCfg(flags, name='AtlasMaterialCondProvider', **kwargs)
ITkPixelLayerProviderOuterCfg(flags, name='ITkPixelProviderOuter', useCond=True, **kwargs)
InputLayerMaterialProviderCfg(flags, name='AtlasMaterialProvider', **kwargs)
HGTD_TrackingVolumeHelperCfg(flags, name='HGTD_TrackingVolumeHelper', **kwargs)
ITkPixelLayerProviderInnerCfg(flags, name='ITkPixelProviderInner', useCond=True, **kwargs)
HGTD_CylinderVolumeCreatorCfg(flags, name='HGTD_CylinderVolumeCreator', **kwargs)
ITkStripLayerProviderCfg(flags, name='ITkStripProvider', useCond=True, **kwargs)
InDetTrackingVolumeHelperCfg(flags, name='InDetTrackingVolumeHelper', **kwargs)
ITkTrackingVolumeHelperCfg(flags, name='ITkTrackingVolumeHelper', **kwargs)
TrackingVolumeArrayCreatorCfg(flags, name="TrackingVolumeArrayCreator", **kwargs)
InDetCylinderVolumeCreatorCfg(flags, name='InDetCylinderVolumeCreator', **kwargs)
CylinderVolumeCreatorCfg(flags, name='CylinderVolumeCreator', **kwargs)
ITkCylinderVolumeCreatorCfg(flags, name='ITkCylinderVolumeCreator', **kwargs)
TrackingVolumeHelperCfg(flags, name='TrackingVolumeHelper', **kwargs)
LayerArrayCreatorCfg(flags, name='LayerArrayCreator', **kwargs)
LayerMaterialInspectorCfg(flags, name='AtlasLayerMaterialInspector', **kwargs)
ITkBeamPipeProviderCfg(flags, name='ITkBeamPipeProvider', useCond=True, **kwargs)