ATLAS Offline Software
Loading...
Searching...
No Matches
SCT_GeoModelConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2from AthenaConfiguration.AccumulatorCache import AccumulatorCache
3
4
5def SCT_GeoModelCfg(flags):
6 from AtlasGeoModel.GeoModelConfig import GeoModelCfg
7 acc = GeoModelCfg(flags)
8 geoModelSvc = acc.getPrimary()
9
10 from AthenaConfiguration.ComponentFactory import CompFactory
11 sctDetectorTool = CompFactory.SCT_DetectorTool()
12 sctDetectorTool.useDynamicAlignFolders = flags.GeoModel.Align.Dynamic
13 sctDetectorTool.Alignable = True # make this a flag?
14 geoModelSvc.DetectorTools += [ sctDetectorTool ]
15 return acc
16
17
19 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
20 acc = ComponentAccumulator()
21 if flags.GeoModel.Align.LegacyConditionsAccess: # revert to old style CondHandle in case of simulation
22 from IOVDbSvc.IOVDbSvcConfig import addFoldersSplitOnline
23 if flags.GeoModel.Align.Dynamic:
24 acc.merge(addFoldersSplitOnline(flags, "INDET",
25 ["/Indet/Onl/AlignL1/ID", "/Indet/Onl/AlignL2/SCT"],
26 ["/Indet/AlignL1/ID", "/Indet/AlignL2/SCT"]))
27 acc.merge(addFoldersSplitOnline(flags, "INDET", "/Indet/Onl/AlignL3", "/Indet/AlignL3"))
28 else:
29 acc.merge(addFoldersSplitOnline(flags, "INDET", "/Indet/Onl/Align", "/Indet/Align"))
30 else:
31 from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConfig import SCT_AlignCondAlgCfg
32 acc.merge(SCT_AlignCondAlgCfg(flags))
33 return acc
34
35
36@AccumulatorCache
38 # main GeoModel config
39 acc = SCT_GeoModelCfg(flags)
40 acc.merge(SCT_AlignmentCfg(flags))
41 return acc
42
43
44@AccumulatorCache
46 # main GeoModel config
47 acc = SCT_GeoModelCfg(flags)
48 acc.merge(SCT_AlignmentCfg(flags))
49 from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConfig import SCT_DetectorElementCondAlgCfg
50 acc.merge(SCT_DetectorElementCondAlgCfg(flags))
51 return acc