diff --git a/InnerDetector/InDetDetDescr/InDetGeoModelUtils/InDetGeoModelUtils/GeoModelXmlTool.h b/InnerDetector/InDetDetDescr/InDetGeoModelUtils/InDetGeoModelUtils/GeoModelXmlTool.h index ba3267887be7a75cca7d945696f23c397795467b..531effa614006a7f0b23df6ca73293fecc5c19b9 100644 --- a/InnerDetector/InDetDetDescr/InDetGeoModelUtils/InDetGeoModelUtils/GeoModelXmlTool.h +++ b/InnerDetector/InDetDetDescr/InDetGeoModelUtils/InDetGeoModelUtils/GeoModelXmlTool.h @@ -45,6 +45,15 @@ protected: ServiceHandle<IGeoDbTagSvc> m_geoDbTagSvc{this, "GeoDbTagSvc", "GeoDbTagSvc", ""}; Gaudi::Property<std::string> m_dtdName{this, "OverrideDtdName", "", "Override standard .dtd file from GeoModelXml"}; + Gaudi::Property<bool> m_deduplicateLogVol{this, "enableLogVolDeduplication", false, + "Remove duplications of equivalent logical volumes"}; + Gaudi::Property<bool> m_deduplicatePhysVol{this, "enablePhysVolDeduplication", false, + "Remove duplications of equivalent physical volumes"}; + Gaudi::Property<bool> m_deduplicateShape{this, "enableShapeDeduplication", false, + "Remove duplications of equivalent shapes"}; + Gaudi::Property<bool> m_deduplicateTransf{this, "enableTransDeduplication", false, + "Remove duplications of equivalent transform nodes"}; + private: diff --git a/InnerDetector/InDetDetDescr/InDetGeoModelUtils/src/GeoModelXmlTool.cxx b/InnerDetector/InDetDetDescr/InDetGeoModelUtils/src/GeoModelXmlTool.cxx index fafef6ec2725ccc3ab451af21ef2d32de6b7e36c..7698eec2b5484f25decbbdd4a82ccc33d39afc0e 100644 --- a/InnerDetector/InDetDetDescr/InDetGeoModelUtils/src/GeoModelXmlTool.cxx +++ b/InnerDetector/InDetDetDescr/InDetGeoModelUtils/src/GeoModelXmlTool.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration */ #include "InDetGeoModelUtils/GeoModelXmlTool.h" @@ -162,6 +162,10 @@ void GeoModelXmlTool::createVolume(GeoPhysVol* world, GmxInterface& gmxInterface } out.close(); } + gmxInterface.enableLogVolDeDuplication(m_deduplicateLogVol); + gmxInterface.enablePhysVolDeDuplication(m_deduplicatePhysVol); + gmxInterface.enableShapeDeDuplication(m_deduplicateShape); + gmxInterface.enableTransformDeDuplication(m_deduplicateTransf); Gmx2Geo gmx2Geo(gmxInput, world, gmxInterface, flags); }