28 if flags.Detector.GeometryBpipe:
29 from BeamPipeGeoModel.BeamPipeGMConfig
import BeamPipeGeometryCfg
30 cfg.merge(BeamPipeGeometryCfg(flags))
33 if flags.Detector.GeometryPixel:
34 from PixelGeoModel.PixelGeoModelConfig
import PixelReadoutGeometryCfg
35 cfg.merge(PixelReadoutGeometryCfg(flags))
39 if flags.Detector.GeometrySCT:
40 from SCT_GeoModel.SCT_GeoModelConfig
import SCT_ReadoutGeometryCfg
41 cfg.merge(SCT_ReadoutGeometryCfg(flags))
43 if flags.Detector.GeometryTRT:
44 from TRT_GeoModel.TRT_GeoModelConfig
import TRT_ReadoutGeometryCfg
45 cfg.merge(TRT_ReadoutGeometryCfg(flags))
50 if flags.Detector.GeometryID:
51 from InDetServMatGeoModel.InDetServMatGeoModelConfig
import (
52 InDetServiceMaterialCfg)
53 cfg.merge(InDetServiceMaterialCfg(flags))
56 if flags.Detector.GeometryLAr:
57 from LArGeoAlgsNV.LArGMConfig
import LArGMCfg
58 cfg.merge(LArGMCfg(flags))
60 if flags.Detector.GeometryTile:
61 from TileGeoModel.TileGMConfig
import TileGMCfg
63 cfg.merge(TileGMCfg(flags))
66 cfg.getService(
"GeoModelSvc").DetectorTools[
"TileDetectorTool"].GeometryConfig=
"FULL"
71 if flags.Detector.GeometryMuon:
72 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
73 cfg.merge(MuonGeoModelCfg(flags))
76 if flags.Detector.GeometryHGTD:
78 if flags.HGTD.Geometry.useGeoModelXml:
79 from HGTD_GeoModelXml.HGTD_GeoModelConfig
import HGTD_SimulationGeometryCfg
81 from HGTD_GeoModel.HGTD_GeoModelConfig
import HGTD_SimulationGeometryCfg
82 cfg.merge(HGTD_SimulationGeometryCfg(flags))
85 if flags.Detector.GeometryITkPixel:
86 from PixelGeoModelXml.ITkPixelGeoModelConfig
import ITkPixelReadoutGeometryCfg
87 cfg.merge(ITkPixelReadoutGeometryCfg(flags))
88 if flags.Detector.GeometryITkStrip:
89 from StripGeoModelXml.ITkStripGeoModelConfig
import ITkStripReadoutGeometryCfg
90 cfg.merge(ITkStripReadoutGeometryCfg(flags))
96 if flags.Detector.GeometryCavern:
97 from AtlasGeoModel.CavernGMConfig
import CavernGeometryCfg
98 cfg.merge(CavernGeometryCfg(flags))
101 if flags.Detector.GeometryLucid
or flags.Detector.GeometryALFA
or flags.Detector.GeometryAFP
or flags.Detector.GeometryFwdRegion :
102 from AtlasGeoModel.ForDetGeoModelConfig
import ForDetGeometryCfg
103 cfg.merge(ForDetGeometryCfg(flags))
104 if flags.Detector.GeometryZDC:
105 from ZDC_GeoM.ZdcGeoModelConfig
import ZDC_DetToolCfg
106 cfg.merge(ZDC_DetToolCfg(flags))
113 if "ForwardRegionGeoModelTool" in cfg.getService(
"GeoModelSvc").DetectorTools:
114 cfg.getService(
"GeoModelSvc").DetectorTools[
"ForwardRegionGeoModelTool"].vp1Compatibility=
True
125 result = ComponentAccumulator()
127 _logger.info(
"We're using these 'GeoModel.DumpGeo' configuration flags:")
128 flags.dump(
"GeoModel.DumpGeo")
131 _logger.debug(
"kwargs: %s", kwargs)
135 _logger.verbose(
"Using GeoModel ATLAS version: %s", flags.GeoModel.AtlasVersion)
137 kwargs.setdefault(
"AtlasVersion", flags.GeoModel.AtlasVersion)
140 if flags.GeoModel.DumpGeo.ShowTreetopContent:
141 kwargs.setdefault(
"ShowTreetopContent",
True)
148 if flags.GeoModel.DumpGeo.OutputFileName:
149 outFileName = flags.GeoModel.DumpGeo.OutputFileName
153 outFileName =
"geometry"
154 filterDetManagers = []
159 geoTAG = flags.GeoModel.AtlasVersion
160 _logger.info(
"+++ Dumping this Detector Description geometry TAG: '%s'", geoTAG)
161 outFileName = outFileName +
"-" + geoTAG
163 if flags.GeoModel.DumpGeo.FilterDetManagers:
165 _logger.info(
"+++ Filtering on these GeoModel 'Detector Managers': '%s'", flags.GeoModel.DumpGeo.FilterDetManagers)
167 filterDetManagers = flags.GeoModel.DumpGeo.FilterDetManagers
170 kwargs.setdefault(
"UserFilterDetManager", filterDetManagers)
174 outFileName = outFileName +
"-" +
"-".join(filterDetManagers)
177 outFileName = outFileName +
".db"
180 kwargs.setdefault(
"OutSQLiteFileName", outFileName)
185 if os.path.exists(outFileName):
186 if flags.GeoModel.DumpGeo.ForceOverwrite:
187 print(
"+ DumpGeo -- NOTE -- You chose to overwrite an existing geometry dump file with the same name, if present.")
190 if os.path.exists(outFileName):
191 os.remove(outFileName)
192 _logger.verbose(f
"The file {outFileName} has been deleted.")
194 _logger.verbose(f
"The file {outFileName} does not exist. So, it was not needed to 'force-delete' it. Continuing...")
196 _logger.error(f
"+++ DumpGeo -- ERROR!! The ouput file '{outFileName}' exists already!\nPlease move or remove it, or use the 'force' option: '-f' or '--forceOverWrite'.\n\n")
200 the_alg = CompFactory.DumpGeo(name=
"DumpGeoAlg", **kwargs)
201 result.addEventAlgo(the_alg, primary=
True)