ATLAS Offline Software
Loading...
Searching...
No Matches
Tracking/TrkConditions/TrackingGeometryCondAlg/python/CaloTrackingGeometryConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2# Configuration of LArTrackingGeometry + TileTrackingGeometry + CaloTrackingGeometry packages
3
4from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
5from AthenaConfiguration.ComponentFactory import CompFactory
6
7def LArVolumeBuilderCfg(flags, name='LArVolumeBuilder', **kwargs):
8 from LArGeoAlgsNV.LArGMConfig import LArGMCfg
9 result = LArGMCfg(flags)
10 kwargs.setdefault("BarrelEnvelopeCover", 5.0)
11 kwargs.setdefault("EndcapEnvelopeCover", 5.0)
12
13 result.setPrivateTools(CompFactory.LAr.LArVolumeBuilder(name, **kwargs))
14 return result
15
16def TileVolumeBuilderCfg(flags, name='TileVolumeBuilder', **kwargs):
17 from TileGeoModel.TileGMConfig import TileGMCfg
18 result = TileGMCfg(flags)
19
20 result.setPrivateTools(CompFactory.Tile.TileVolumeBuilder(name, **kwargs))
21 return result
22
23
24def CaloTrackingGeometryBuilderCfg(flags, name='CaloTrackingGeometryBuilder',
25 useCond = True,
26 **kwargs):
27 result = ComponentAccumulator()
28
29 # Subtools are renamed to avoid conflict in CA wrapper with legacy config
30 # Renaming can be removed when support of legacy config is dropped
31
32 nameSuffix = 'Cond' if useCond else ''
33
34 lArVolumeBuilder = result.popToolsAndMerge(
35 LArVolumeBuilderCfg(flags, name = 'LArVolumeBuilder' + nameSuffix))
36 result.addPublicTool(lArVolumeBuilder)
37
38 tileVolumeBuilder = result.popToolsAndMerge(
39 TileVolumeBuilderCfg(flags, name = 'TileVolumeBuilder' + nameSuffix))
40 result.addPublicTool(tileVolumeBuilder)
41
42 from SubDetectorEnvelopes.SubDetectorEnvelopesConfig import (
43 EnvelopeDefSvcCfg)
44 envelopeDefinitionSvc = result.getPrimaryAndMerge(EnvelopeDefSvcCfg(flags))
45
46 kwargs.setdefault("LArVolumeBuilder", lArVolumeBuilder)
47 kwargs.setdefault("TileVolumeBuilder", tileVolumeBuilder)
48 kwargs.setdefault("EnvelopeDefinitionSvc", envelopeDefinitionSvc)
49 kwargs.setdefault("EntryVolumeName", "InDet::Containers::EntryVolume")
50 kwargs.setdefault("ExitVolumeName", "Calo::Container")
51 kwargs.setdefault("GapLayerEnvelope", 5.0)
52
53 name = name + nameSuffix
54 geometryBuilder = CompFactory.Calo.CaloTrackingGeometryBuilderCond(name, **kwargs) if useCond else \
55 CompFactory.Calo.CaloTrackingGeometryBuilder(name, **kwargs)
56 result.setPrivateTools(geometryBuilder)
57 return result
CaloTrackingGeometryBuilderCfg(flags, name='CaloTrackingGeometryBuilder', useCond=True, **kwargs)