226 beamPipeBuilder = result.popToolsAndMerge(
228 result.addPublicTool(beamPipeBuilder)
235 if (useCond
and flags.Detector.GeometryID):
236 from InDetServMatGeoModel.InDetServMatGeoModelConfig
import (
237 InDetServiceMaterialCfg)
241 if flags.Detector.GeometryPixel:
242 pixelLayerBuilder = result.popToolsAndMerge(
244 result.addPublicTool(pixelLayerBuilder)
247 pixelLayerBinning = 2
250 layerbuilders += [pixelLayerBuilder]
251 binnings += [pixelLayerBinning]
254 if flags.Detector.GeometrySCT:
256 SCT_LayerBuilder = result.popToolsAndMerge(
258 result.addPublicTool(SCT_LayerBuilder)
264 layerbuilders += [SCT_LayerBuilder]
265 binnings += [SCT_LayerBinning]
268 if flags.Detector.GeometryTRT:
269 TRT_LayerBuilder = result.popToolsAndMerge(
274 result.addPublicTool(TRT_LayerBuilder)
279 useFatras = flags.Common.ProductionStep
in \
280 [ProductionStep.Simulation, ProductionStep.FastChain] \
281 and flags.Sim.ISF.Simulator.usesFatras()
282 if (flags.Beam.Type
is BeamType.Cosmics
or useFatras):
286 layerbuilders += [TRT_LayerBuilder]
287 binnings += [TRT_LayerBinning]
294 nameSuffix =
'Cond' if useCond
else ''
297 from TrackingGeometryCondAlg.TrkDetDescrToolsConfig
import (
298 LayerArrayCreatorCfg)
299 layerArrayCreator = result.popToolsAndMerge(
301 result.addPublicTool(layerArrayCreator)
304 from TrackingGeometryCondAlg.TrkDetDescrToolsConfig
import (
305 InDetTrackingVolumeHelperCfg)
306 trackingVolumeHelper = result.popToolsAndMerge(
309 result.addPublicTool(trackingVolumeHelper)
312 from TrackingGeometryCondAlg.TrkDetDescrToolsConfig
import (
313 TrackingVolumeArrayCreatorCfg)
314 trackingVolumeArrayCreator = result.popToolsAndMerge(
316 name=
'InDetTrackingVolumeArrayCreator' + \
318 result.addPublicTool(trackingVolumeArrayCreator)
321 from TrackingGeometryCondAlg.TrkDetDescrToolsConfig
import (
322 InDetCylinderVolumeCreatorCfg)
323 inDetCylinderVolumeCreator = result.popToolsAndMerge(
326 LayerArrayCreator = layerArrayCreator,
327 TrackingVolumeHelper = trackingVolumeHelper,
328 TrackingVolumeArrayCreator = trackingVolumeArrayCreator))
329 result.addPublicTool(inDetCylinderVolumeCreator)
331 from SubDetectorEnvelopes.SubDetectorEnvelopesConfig
import (
335 kwargs.setdefault(
"BeamPipeBuilder", beamPipeBuilder)
336 kwargs.setdefault(
"LayerBuilders", layerbuilders)
337 kwargs.setdefault(
"LayerBinningType", binnings)
338 kwargs.setdefault(
"ColorCodes", colors)
339 kwargs.setdefault(
"EnvelopeDefinitionSvc", envelopeDefinitionSvc)
340 kwargs.setdefault(
"VolumeEnclosureDiscPositions", [3000., 3450.])
341 kwargs.setdefault(
"TrackingVolumeCreator", inDetCylinderVolumeCreator)
342 kwargs.setdefault(
"LayerArrayCreator", layerArrayCreator)
343 kwargs.setdefault(
"ReplaceAllJointBoundaries",
True)
344 kwargs.setdefault(
"VolumeEnclosureCylinderRadii", [])
345 kwargs.setdefault(
"BuildBoundaryLayers",
True)
346 kwargs.setdefault(
"ExitVolumeName",
'InDet::Containers::InnerDetector')
351 geometryBuilder = CompFactory.InDet.RobustTrackingGeometryBuilderCond(name, **kwargs)
if useCond
else \
352 CompFactory.InDet.RobustTrackingGeometryBuilder(name, **kwargs)
353 result.setPrivateTools(geometryBuilder)