2 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
3 from AthenaConfiguration.ComponentFactory
import CompFactory
7 name: str =
"ActsTrackingGeometrySvc",
8 **kwargs) -> ComponentAccumulator:
11 from ROOT.ActsTrk
import DetectorType
12 kwargs.setdefault(
"NotAlignDetectors", [DetectorType.Trt,
14 kwargs.setdefault(
"UseBlueprint", flags.Acts.TrackingGeometry.UseBlueprint)
15 kwargs.setdefault(
"ObjDebugOutput", flags.Acts.TrackingGeometry.ObjDebugOutput)
20 if flags.Detector.GeometryBpipe:
21 from BeamPipeGeoModel.BeamPipeGMConfig
import BeamPipeGeometryCfg
23 kwargs.setdefault(
"BuildBeamPipe",
True)
25 if flags.Detector.GeometryPixel:
26 subDetectors += [
"Pixel"]
27 from PixelGeoModel.PixelGeoModelConfig
import PixelReadoutGeometryCfg
31 if flags.Detector.GeometrySCT:
32 subDetectors += [
"SCT"]
33 from SCT_GeoModel.SCT_GeoModelConfig
import SCT_ReadoutGeometryCfg
36 if flags.Detector.GeometryTRT:
40 from TRT_GeoModel.TRT_GeoModelConfig
import TRT_ReadoutGeometryCfg
43 if flags.Detector.GeometryCalo:
52 from LArGeoAlgsNV.LArGMConfig
import LArGMCfg
54 from TileGeoModel.TileGMConfig
import TileGMCfg
57 if flags.Muon.usePhaseIIGeoSetup
and not flags.Acts.TrackingGeometry.UseBlueprint:
58 subDetectors += [
"Muon"]
59 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
61 from ActsMuonDetector.ActsMuonDetectorCfg
import MsTrackingVolumeBuilderCfg
65 if flags.Acts.TrackingGeometry.UseBlueprint:
66 if flags.Detector.GeometryITkPixel
or flags.Detector.GeometryITkStrip:
68 if flags.Detector.GeometryMuon:
69 subDetectors += [
"Muon"]
70 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
72 from ActsMuonDetector.ActsMuonDetectorCfg
import MuonBlueprintNodeBuilderCfg
76 if flags.Detector.GeometryITkPixel:
77 subDetectors += [
"ITkPixel"]
78 from PixelGeoModelXml.ITkPixelGeoModelConfig
import ITkPixelReadoutGeometryCfg
81 if flags.Detector.GeometryITkStrip:
82 subDetectors += [
"ITkStrip"]
83 from StripGeoModelXml.ITkStripGeoModelConfig
import ITkStripReadoutGeometryCfg
87 if flags.Detector.GeometryHGTD:
88 subDetectors += [
"HGTD"]
89 if flags.HGTD.Geometry.useGeoModelXml:
90 from HGTD_GeoModelXml.HGTD_GeoModelConfig
import HGTD_ReadoutGeometryCfg
92 from HGTD_GeoModel.HGTD_GeoModelConfig
import HGTD_ReadoutGeometryCfg
95 actsTrackingGeometrySvc = CompFactory.ActsTrackingGeometrySvc(name,
96 BuildSubDetectors=subDetectors,
97 BlueprintNodeBuilders=blueprintTools,
100 if flags.Acts.TrackingGeometry.MaterialSource ==
"Default":
101 if flags.Detector.GeometryITk:
103 if flags.Detector.GeometryHGTD:
105 if flags.Acts.TrackingGeometry.InsertITkPassiveMaterialLayers:
106 extension +=
"-passiveLayers"
107 if flags.Acts.TrackingGeometry.MaterialFileExtension:
108 extension +=
"-"+flags.Acts.TrackingGeometry.MaterialFileExtension
109 actsTrackingGeometrySvc.UseMaterialMap =
True
110 actsTrackingGeometrySvc.MaterialMapCalibFolder = flags.Acts.TrackingGeometry.MaterialCalibrationFolder
111 actsTrackingGeometrySvc.MaterialMapInputFile = \
112 "material-maps-" + flags.GeoModel.AtlasVersion +
"-" + extension +
".json"
114 elif flags.Acts.TrackingGeometry.MaterialSource.find(
".json") != -1:
115 actsTrackingGeometrySvc.UseMaterialMap =
True
116 actsTrackingGeometrySvc.MaterialMapCalibFolder = flags.Acts.TrackingGeometry.MaterialCalibrationFolder
117 actsTrackingGeometrySvc.MaterialMapInputFile = flags.Acts.TrackingGeometry.MaterialSource
119 if flags.Acts.TrackingGeometry.InsertITkPassiveMaterialLayers:
120 actsTrackingGeometrySvc.PassiveITkInnerPixelBarrelLayerRadii = flags.Acts.TrackingGeometry.PassiveITkInnerPixelBarrelLayerRadii
121 actsTrackingGeometrySvc.PassiveITkInnerPixelBarrelLayerHalflengthZ = flags.Acts.TrackingGeometry.PassiveITkInnerPixelBarrelLayerHalflengthZ
122 actsTrackingGeometrySvc.PassiveITkInnerPixelBarrelLayerThickness = flags.Acts.TrackingGeometry.PassiveITkInnerPixelBarrelLayerThickness
123 actsTrackingGeometrySvc.PassiveITkOuterPixelBarrelLayerRadii = flags.Acts.TrackingGeometry.PassiveITkOuterPixelBarrelLayerRadii
124 actsTrackingGeometrySvc.PassiveITkOuterPixelBarrelLayerHalflengthZ = flags.Acts.TrackingGeometry.PassiveITkOuterPixelBarrelLayerHalflengthZ
125 actsTrackingGeometrySvc.PassiveITkOuterPixelBarrelLayerThickness = flags.Acts.TrackingGeometry.PassiveITkOuterPixelBarrelLayerThickness
126 actsTrackingGeometrySvc.PassiveITkStripBarrelLayerRadii = flags.Acts.TrackingGeometry.PassiveITkStripBarrelLayerRadii
127 actsTrackingGeometrySvc.PassiveITkStripBarrelLayerHalflengthZ = flags.Acts.TrackingGeometry.PassiveITkStripBarrelLayerHalflengthZ
128 actsTrackingGeometrySvc.PassiveITkStripBarrelLayerThickness = flags.Acts.TrackingGeometry.PassiveITkStripBarrelLayerThickness
132 acc.addService(actsTrackingGeometrySvc, primary =
True)
137 name: str =
"ActsPropStepRootWriterSvc",
138 **kwargs) -> ComponentAccumulator:
140 acc.addService(CompFactory.ActsPropStepRootWriterSvc(name, **kwargs))
145 name: str =
"ActsTrackingGeometryTool" ) -> ComponentAccumulator:
148 from ActsAlignmentAlgs.AlignmentAlgsConfig
import ActsGeometryContextAlgCfg
150 acc.addPublicTool(CompFactory.ActsTrackingGeometryTool(name), primary =
True)
154 name: str =
"ActsExtrapolationTool",
155 **kwargs) -> ComponentAccumulator:
157 from MagFieldServices.MagFieldServicesConfig
import AtlasFieldCacheCondAlgCfg
160 acc.setPrivateTools(CompFactory.ActsTrk.ExtrapolationTool(name, **kwargs))
165 name: str =
"ActsMaterialTrackWriterSvc",
166 **kwargs) -> ComponentAccumulator:
169 acc.addService(CompFactory.ActsMaterialTrackWriterSvc(name, **kwargs), primary=
True)
174 name: str =
"ActsMaterialStepConverterTool",
175 **kwargs ) -> ComponentAccumulator:
177 acc.addPublicTool(CompFactory.ActsMaterialStepConverterTool(name, **kwargs), primary=
True)
182 name: str =
"ActsSurfaceMappingTool",
183 **kwargs ) -> ComponentAccumulator:
186 acc.addPublicTool(CompFactory.ActsSurfaceMappingTool(name, **kwargs), primary=
True)
191 name: str =
"ActsVolumeMappingTool",
192 **kwargs ) -> ComponentAccumulator:
195 acc.addPublicTool(CompFactory.ActsVolumeMappingTool(name, **kwargs), primary=
True)
200 name: str =
"ActsMaterialJsonWriterTool",
201 **kwargs) -> ComponentAccumulator:
203 acc.addPublicTool(CompFactory.ActsMaterialJsonWriterTool(name, **kwargs), primary=
True)
208 name: str =
"ActsObjWriterTool",
209 **kwargs) -> ComponentAccumulator:
211 acc.addPublicTool(CompFactory.ActsObjWriterTool(name, **kwargs), primary=
True)
216 name: str =
"ActsExtrapolationAlg",
217 **kwargs) -> ComponentAccumulator:
220 if "ExtrapolationTool" not in kwargs:
224 acc.addEventAlgo(CompFactory.ActsExtrapolationAlg(name, **kwargs))
228 name: str =
"ActsWriteTrackingGeometry",
229 **kwargs) -> ComponentAccumulator:
232 if 'TrackingGeometryTool' not in kwargs:
235 if 'MaterialJsonWriterTool' not in kwargs:
237 OutputFile =
"geometry-maps.json",
238 processSensitives =
False,
239 processNonMaterial =
True) ))
242 if flags.Detector.GeometryBpipe:
243 subDetectors = [
"BeamPipe"]
245 if flags.Detector.GeometryPixel:
246 subDetectors += [
"Pixel"]
247 if flags.Detector.GeometryITkPixel:
248 subDetectors += [
"ITkPixel"]
250 if flags.Detector.GeometrySCT:
251 subDetectors += [
"SCT"]
252 if flags.Detector.GeometryITkStrip:
253 subDetectors += [
"ITkStrip"]
254 if flags.Detector.GeometryHGTD:
255 subDetectors += [
"HGTD"]
257 acc.addEventAlgo(CompFactory.ActsWriteTrackingGeometry(name, **kwargs))
261 name: str =
"ActsWriteTrackingGeometryTransformsAlg",
262 **kwargs: dict) -> ComponentAccumulator:
265 if 'TrackingGeometryTool' not in kwargs:
268 acc.addEventAlgo(CompFactory.ActsWriteTrackingGeometryTransforms(name,**kwargs))
272 name: str =
"ActsMaterialMapping",
273 **kwargs) -> ComponentAccumulator:
276 if 'MaterialStepConverterTool' not in kwargs:
279 if 'SurfaceMappingTool' not in kwargs:
282 if 'VolumeMappingTool' not in kwargs:
285 if 'MaterialJsonWriterTool' not in kwargs:
286 kwargs.setdefault(
"MaterialJsonWriterTool",
288 OutputFile =
"material-maps.json",
289 processSensitives =
False,
290 processNonMaterial =
False) ))
292 acc.addEventAlgo(CompFactory.ActsMaterialMapping(name, **kwargs))
296 name: str =
"ActsVolumeIdToDetectorCollectionMappingAlgCfg",
297 **kwargs) -> ComponentAccumulator:
299 if 'TrackingGeometryTool' not in kwargs :
300 kwargs.setdefault(
'TrackingGeometryTool',
302 kwargs.setdefault(
'ActsVolumeIdToDetectorElementCollectionMap',
'VolumeIdToDetectorElementCollectionMap')
304 def filterCollections(flags, pixel_det_el, strip_det_el) :
306 if flags.Detector.GeometryITkPixel:
307 ret += [ pixel_det_el ]
308 if flags.Detector.GeometryITkStrip:
309 ret += [ strip_det_el ]
311 kwargs.setdefault(
'DetectorElementsKeys', filterCollections( flags,
312 'ITkPixelDetectorElementCollection',
313 'ITkStripDetectorElementCollection'))
315 acc.addCondAlgo(CompFactory.ActsTrk.ActsVolumeIdToDetectorElementCollectionMappingAlg(name, **kwargs))
319 name: str =
"ItkBlueprintNodeBuilder",
320 **kwargs) -> ComponentAccumulator:
322 the_tool = CompFactory.ActsTrk.ItkBlueprintNodeBuilder(name, **kwargs)
323 result.setPrivateTools(the_tool)