diff --git a/GeoModelCore/GeoModelHelpers/GeoModelHelpers/variantHelpers.h b/GeoModelCore/GeoModelHelpers/GeoModelHelpers/variantHelpers.h
index a68a3a933450178064ae5a8e14348eaac219724e..ec6702d989cf90a3375aa5564273617151943619 100644
--- a/GeoModelCore/GeoModelHelpers/GeoModelHelpers/variantHelpers.h
+++ b/GeoModelCore/GeoModelHelpers/GeoModelHelpers/variantHelpers.h
@@ -12,7 +12,7 @@
 #ifndef GEOMODELHELPERS_VARIANTHELPERS_H
 #define GEOMODELHELPERS_VARIANTHELPERS_H
 
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 
 #include <iostream> 
 #include <string> 
diff --git a/GeoModelCore/GeoModelHelpers/src/GeoLogVolSorter.cxx b/GeoModelCore/GeoModelHelpers/src/GeoLogVolSorter.cxx
index 381c9896f1641d39b883d86000fbab086f8f2af1..c848f2e6860e24a17701cc50d0dae5eab0f4a0b6 100644
--- a/GeoModelCore/GeoModelHelpers/src/GeoLogVolSorter.cxx
+++ b/GeoModelCore/GeoModelHelpers/src/GeoLogVolSorter.cxx
@@ -2,7 +2,7 @@
   Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 #include "GeoModelHelpers/GeoLogVolSorter.h"
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 #include "GeoModelHelpers/GeoShapeSorter.h"
 
 bool GeoLogVolSorter::operator()(const GeoLogVol* a, const GeoLogVol* b) const{
diff --git a/GeoModelCore/GeoModelHelpers/src/GeoPhysVolSorter.cxx b/GeoModelCore/GeoModelHelpers/src/GeoPhysVolSorter.cxx
index 73ee5dc0fc679565d6f5b954eef6d799f37c8274..c92d64b6b1174dcc948d3f4acb1c47bd43f91342 100644
--- a/GeoModelCore/GeoModelHelpers/src/GeoPhysVolSorter.cxx
+++ b/GeoModelCore/GeoModelHelpers/src/GeoPhysVolSorter.cxx
@@ -3,12 +3,13 @@
 */
 #include "GeoModelHelpers/GeoPhysVolSorter.h"
 #include "GeoModelKernel/GeoFullPhysVol.h"
+#include "GeoModelKernel/throwExcept.h"
 
 #include "GeoModelHelpers/TransformSorter.h"
 #include "GeoModelHelpers/GeoLogVolSorter.h"
 #include "GeoModelKernel/GeoVolumeCursor.h"
 #include "GeoModelHelpers/getChildNodesWithTrf.h"
-#include "GeoModelHelpers/throwExcept.h"
+
 
 
 int GeoPhysVolSorter::compare(const GeoVPhysVol* a, const GeoVPhysVol* b) const {
diff --git a/GeoModelCore/GeoModelHelpers/src/GeoShapeSorter.cxx b/GeoModelCore/GeoModelHelpers/src/GeoShapeSorter.cxx
index b103d3ef97055e549b87bb5f40bd706f71d2166e..667201f3dc8d02fdf41cd0be0024c6a8591ddcb2 100644
--- a/GeoModelCore/GeoModelHelpers/src/GeoShapeSorter.cxx
+++ b/GeoModelCore/GeoModelHelpers/src/GeoShapeSorter.cxx
@@ -5,7 +5,7 @@
 #include "GeoModelHelpers/TransformSorter.h"
 #include "GeoModelHelpers/TransformToStringConverter.h"
 #include "GeoModelHelpers/GeoShapeUtils.h"
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 
 #include "GeoModelKernel/Units.h"
 
diff --git a/GeoModelCore/GeoModelHelpers/src/GeoShapeUtils.cxx b/GeoModelCore/GeoModelHelpers/src/GeoShapeUtils.cxx
index 413e020748911e4baa3ea5beaa79465f6be81531..e026be00a60e1a4c141aebeca1647fed14ed8515 100644
--- a/GeoModelCore/GeoModelHelpers/src/GeoShapeUtils.cxx
+++ b/GeoModelCore/GeoModelHelpers/src/GeoShapeUtils.cxx
@@ -3,7 +3,7 @@
 */
 #include "GeoModelHelpers/GeoShapeUtils.h"
 #include "GeoModelHelpers/TransformToStringConverter.h"
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 
 /// Boolean volume shapes
 #include "GeoModelKernel/GeoShapeUnion.h"
diff --git a/GeoModelCore/GeoModelHelpers/src/MaterialManager.cxx b/GeoModelCore/GeoModelHelpers/src/MaterialManager.cxx
index 808e23f8f6c723328a7cfbb26d593d0e6a890552..f9b996e2364769588d62601bb6a037a5d5817fc0 100644
--- a/GeoModelCore/GeoModelHelpers/src/MaterialManager.cxx
+++ b/GeoModelCore/GeoModelHelpers/src/MaterialManager.cxx
@@ -10,7 +10,7 @@
 #include "GeoModelKernel/GeoMaterial.h"
 #include "GeoModelKernel/Units.h"
 
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 #include "GeoModelHelpers/StringUtils.h"
 
 #include <cstdio>
diff --git a/GeoModelCore/GeoModelHelpers/src/StringUtils.cxx b/GeoModelCore/GeoModelHelpers/src/StringUtils.cxx
index 51059a1e38ad7027e81ac9b4588a864479217291..02965abcf6cd99814d4f149b4efff790b1a2e67f 100644
--- a/GeoModelCore/GeoModelHelpers/src/StringUtils.cxx
+++ b/GeoModelCore/GeoModelHelpers/src/StringUtils.cxx
@@ -2,7 +2,7 @@
   Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 #include "GeoModelHelpers/StringUtils.h"
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 #include <limits>
 #include <array>
 #include <functional>
diff --git a/GeoModelCore/GeoModelHelpers/src/TransformSorter.cxx b/GeoModelCore/GeoModelHelpers/src/TransformSorter.cxx
index bf77383bf09c1bd4e74fff98d660dbab4c28dca0..b5cf8ec4cedff0833775bb83c7503f42ff5cb10a 100644
--- a/GeoModelCore/GeoModelHelpers/src/TransformSorter.cxx
+++ b/GeoModelCore/GeoModelHelpers/src/TransformSorter.cxx
@@ -1,9 +1,10 @@
 /*
   Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
+#include "GeoModelKernel/throwExcept.h"
 #include "GeoModelHelpers/TransformSorter.h"
 #include "GeoModelKernel/GeoAlignableTransform.h"
-#include "GeoModelHelpers/throwExcept.h"
+
 
 namespace GeoTrf {
     bool TransformSorter::operator()(const std::unique_ptr<Transform3D>& a, 
diff --git a/GeoModelCore/GeoModelHelpers/src/cloneVolume.cxx b/GeoModelCore/GeoModelHelpers/src/cloneVolume.cxx
index 46f721b38021ae83fd8b3fa492f6e16bb1bc02ef..63f625ae5f5685ae67207a6bc3dc52291af61474 100644
--- a/GeoModelCore/GeoModelHelpers/src/cloneVolume.cxx
+++ b/GeoModelCore/GeoModelHelpers/src/cloneVolume.cxx
@@ -12,9 +12,9 @@ PVLink cloneVolume(const PVLink& volume,
     PVLink newVolume{volume};
     if (!allowShared || hasFullPhysVolInTree(volume)) {
         if (typeid(*volume) == typeid(GeoPhysVol)) {
-            newVolume = new GeoPhysVol(volume->getLogVol());
+            newVolume = make_intrusive<GeoPhysVol>(volume->getLogVol());
         } else if (typeid(*volume) == typeid(GeoFullPhysVol)) {
-            newVolume = new GeoFullPhysVol(volume->getLogVol());
+            newVolume = make_intrusive<GeoFullPhysVol>(volume->getLogVol());
         }
         for (unsigned int ch = 0; ch < volume->getNChildNodes(); ++ch){
           const GeoGraphNode* node = (*volume->getChildNode(ch));
diff --git a/GeoModelCore/GeoModelHelpers/tests/testStringUtils.cxx b/GeoModelCore/GeoModelHelpers/tests/testStringUtils.cxx
index 66bdb22c9478b52cb677ff991dcddf07f5ef642f..cbcbf453190c81e8c6f44c4b13154c311577d30c 100644
--- a/GeoModelCore/GeoModelHelpers/tests/testStringUtils.cxx
+++ b/GeoModelCore/GeoModelHelpers/tests/testStringUtils.cxx
@@ -3,7 +3,7 @@
 */
 
 #include "GeoModelHelpers/StringUtils.h"
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 #include <cstdlib>
 #include <iostream>
 using namespace GeoStrUtils;
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/CellBinning.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/CellBinning.h
index 966ffdd6db8cc85bd4bc177a67e2821f4d99629c..1446c28babc57f12d887480fb139cc24431e06fb 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/CellBinning.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/CellBinning.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_CELLBINNING_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/CellPartitioning.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/CellPartitioning.h
index 96ef57366da38c940aebe25ae14e8e86c423ace9..54a4e38964c9e8816bfa1d2b348d210d44ddd06a 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/CellPartitioning.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/CellPartitioning.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_CELLPARTITIONING_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoAccessSurfaceAction.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoAccessSurfaceAction.h
index a3a617acc75c2376f62a4dce572fb019d4416e34..00f68f895abd05c54af129c8506071ae79bb0530 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoAccessSurfaceAction.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoAccessSurfaceAction.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GeoAccessSurfaceAction_h
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoAccessVolAndSTAction.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoAccessVolAndSTAction.h
index da372256e53b7fbe1d5bcf9494a35010fd53eab6..3789197b83968d8f241c7bf06b0596cfca4b4d48 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoAccessVolAndSTAction.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoAccessVolAndSTAction.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOACCESSVOLANDSTACTION_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoAccessVolumeAction.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoAccessVolumeAction.h
index 1418bfe05dd705c89031bf241eddd92d04375cb9..2399f4c4ad1d49c7448e536ec4616f1e480f54f1 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoAccessVolumeAction.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoAccessVolumeAction.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GeoAccessVolumeAction_h
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoAlignableTransform.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoAlignableTransform.h
index b7c85ebc50eb8a5c3ba5748536ab3a21638e6be2..0e498a406492aa62ce011873b884560881f1c58e 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoAlignableTransform.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoAlignableTransform.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOALIGNABLETRANSFORM_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoBox.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoBox.h
index d823885ac6d5464e323d200bd3d8f3432fb56f85..78c30c263ec2485371c8814670fd63882c2669e4 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoBox.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoBox.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOBOX_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoClearAbsPosAction.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoClearAbsPosAction.h
index e079a39b20e7519ecfca7016d184b5311cd39738..5dce280d01bf5333d33aecbf0fb0aa3d3bc43465 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoClearAbsPosAction.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoClearAbsPosAction.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoCons.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoCons.h
index 7221312211dae08e21b4ff95cea9efe5ad8532f2..28a13ef9fd15ead87e5a60da0dba315aaf4b38ad 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoCons.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoCons.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOCONS_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoCountSurfaceAction.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoCountSurfaceAction.h
index 5295fa6b9fcda7177754c63c9b742aec9113cc7a..b56a9c676c513a032124b7a7c18eec37d4d078d5 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoCountSurfaceAction.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoCountSurfaceAction.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOCOUNTSURFACEACTION_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoCountVolAction.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoCountVolAction.h
index 48bf26163783f4cbe26167752ebc9f92c76d4571..34cfc02c7e915c15540237e2ac4541f3bad6db88 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoCountVolAction.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoCountVolAction.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOCOUNTVOLACTION_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoCountVolAndSTAction.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoCountVolAndSTAction.h
index 7d49c5f1bc191048c85172bc6d5a8ce1c20d8243..71abc4a43e70d2ec0f6a1a387a89b4c7f4e80ac2 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoCountVolAndSTAction.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoCountVolAndSTAction.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOCOUNTVOLANDSTACTION_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoCutVolAction.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoCutVolAction.h
index ceee9b8184e058a3f3a4ea710af0a78b0f5d562a..95d0ad3753992cf18cc788b3e382e2f2f3d46e36 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoCutVolAction.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoCutVolAction.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOCUTVOLACTION_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoElement.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoElement.h
index 9eee6bc9e72c5b7be861f61832e7b24d416f2fd0..f8cfeee6074f16e4d63bb8471d08c393247eb712 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoElement.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoElement.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOELEMENT_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoEllipticalTube.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoEllipticalTube.h
index 79dfdb04ceed3bdb8f5a4a392275b645fcd7aa26..65f9128e8aee39dc72c0d46f659237cb56332e09 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoEllipticalTube.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoEllipticalTube.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOELLIPTICALTUBE_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoFacet.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoFacet.h
index d73cb975fb47f7e5f9b33f320f504d51469ce816..14e3a3d8c37eec4e1d08a954daf4086743f373d5 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoFacet.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoFacet.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOFACET_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoFullPhysVol.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoFullPhysVol.h
index e1fafcec313716bfb847a58740c65a2d3e11e910..3d3f9aa92f92e42f6b446dc8d5e5e665e47955e4 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoFullPhysVol.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoFullPhysVol.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOFULLPHYSVOL_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoGenericTrap.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoGenericTrap.h
index 4cf59192dc5cf68a0c285e8ced91ce8019f306db..167c4cb1b1a8420d72c69f4f241377fabbfda4a3 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoGenericTrap.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoGenericTrap.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOGENERICTRAP_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoGeometryPluginLoader.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoGeometryPluginLoader.h
index 73b0b93bd0152c9681c1be013e5f4d590b4e6af3..d929f9db1b7148b8953a88819089afc8e35ee3ba 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoGeometryPluginLoader.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoGeometryPluginLoader.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOGEOMETRYPLUGINLOADER_H_
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoGraphNode.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoGraphNode.h
index 1f8a2ae52ea942e9690b256b33f87895e40bd4a1..ace8fd4ef7939530a24849054a1a31cca6d9d01a 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoGraphNode.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoGraphNode.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOGRAPHNODE_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoIdentifierTag.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoIdentifierTag.h
index f7b37647e537581acb829e35e4223344c864fdbe..a3eb36847308d65c07ed18f7718361f8d1507ba2 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoIdentifierTag.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoIdentifierTag.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOIDENTIFIERTAG_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoIntrusivePtr.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoIntrusivePtr.h
index dcd1c028c588918e7eaeb2e2bb73392e16f8e462..73910a75b68096afa927ae6e63d25148876c0014 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoIntrusivePtr.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoIntrusivePtr.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 #ifndef GEOMODELKERNEL_GeoIntrusivePtr_H
 #define GEOMODELKERNEL_GeoIntrusivePtr_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoLogVol.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoLogVol.h
index 7885deaad6f984ed3f19b9be46a0a7caa867df94..301a76d229c953f5b04c42d99968d870b44cd53f 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoLogVol.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoLogVol.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOLOGVOL_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoMaterial.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoMaterial.h
index faa40989f58a1418f0d1631c9909c31275aa985a..78a1e6e382c57b7c6c4e48e97034b09aba173b18 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoMaterial.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoMaterial.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOMATERIAL_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoNameTag.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoNameTag.h
index 3d378130100dc5caf6b4f65cd3c33b69bbc24d32..fcb7fe55d6b2bbd8031ccf01e400a6b1304ad07c 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoNameTag.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoNameTag.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEONAMETAG_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoNodeAction.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoNodeAction.h
index 8232f0010950b8855fafda72e351ee14bde99b3e..ba80f91982b7beeb721d054cef2eaf453a181afd 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoNodeAction.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoNodeAction.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEONODEACTION_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoNodePath.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoNodePath.h
index b2cd5f73ed3b5ad2b7b7254a506668efa90c1d78..e796f317873688cba91fa68b56b349412971f872 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoNodePath.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoNodePath.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEONODEPATH_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPara.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPara.h
index c98a41f156b68ada76371a211a9f9079cbbccc9f..aa0a7abbc795e1c4f8371611609a0f41af893849 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPara.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPara.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOPARA_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPerfUtils.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPerfUtils.h
index a3e23d91318f9c3c504ea4e9cd54b27be2aa21e1..37233d3456b49cad4408674aef7fe1b9c81fc534 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPerfUtils.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPerfUtils.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOPERFUTILS_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPgon.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPgon.h
index 4ca4e1d9eb6377f79522e97aef54ce220068d60d..cfca2b3b08b2113a4fd37e3d434b211ccb11ad13 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPgon.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPgon.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOPGON_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPhysVol.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPhysVol.h
index 160065c67f8b485edce641cb53299faf41a1d520..379957b8c532e3bec3c91304cf97d123bc448dea 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPhysVol.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPhysVol.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOPHYSVOL_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPluginLoader.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPluginLoader.h
index 4470c8c49300701061a3357731d3c102e1346585..e0d456925e4463d10a99b6ae90baee77423f526a 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPluginLoader.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPluginLoader.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOPLUGINLOADER_H_
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPolyhedrizeAction.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPolyhedrizeAction.h
index 58d2a0456bc0b884da7645aed81706ae5e487e7f..2817492d6ca4be986e12d630eb891f49bda0d614 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPolyhedrizeAction.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPolyhedrizeAction.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOPOLYHEDRIZEACTION_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPolyhedron.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPolyhedron.h
index 99a5a92b0b34ce1584300e7e8b4324f4fcf9e9ba..dac4b36365f5773d660d0283e4c841677b2699f3 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPolyhedron.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPolyhedron.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GeoPolyhedron_h
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPrintGraphAction.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPrintGraphAction.h
index cfa8bd2bff835974ad06e556e6d592b351ddb551..07ce459dd873cd2fdf67b69cd3a0f38677fbe8f9 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPrintGraphAction.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPrintGraphAction.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOPRINTGRAPHACTION_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPublisher.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPublisher.h
index bd5a7a46865e06413fdfab12fcc8a49067a4666d..a0cb9da1d50efae8f7b342a43eba7c3d5e4169a3 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPublisher.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoPublisher.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOSTORE_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoSerialDenominator.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoSerialDenominator.h
index 6e85abef4c7e5a3b0fcd16104a59e768869b336e..5f2235fb09a06a6e46e4ca76a2250306a7c786ff 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoSerialDenominator.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoSerialDenominator.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOSERIALDENOMINATOR_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoSerialIdentifier.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoSerialIdentifier.h
index 63a06d4756bfa93ae0a9e049049e9f963a5eea08..b98285bda000f7da1a2bfd1a39d23aa7bb607fc2 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoSerialIdentifier.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoSerialIdentifier.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOSERIALIDENTIFIER_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoSerialTransformer.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoSerialTransformer.h
index ffd4d146c709249a53393e6c6f309086a18cb482..cdd09dc21971ab635ab26b09e080d5e6c7878cbf 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoSerialTransformer.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoSerialTransformer.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOSERIALTRANSFORMER_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoShape.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoShape.h
index 452139ca157744423fbea263b548a7a7c620c1ae..c58e237e0ac860fedbb367a9aab9be1738f8816a 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoShape.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoShape.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOSHAPE_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoShapeAction.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoShapeAction.h
index a6ec5e36d2806d36f75aa8c4e1c065d7dc17c260..94280aa97ce6e948a6c56475c0892c880f9b9f18 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoShapeAction.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoShapeAction.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOSHAPEACTION_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoShapeIntersection.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoShapeIntersection.h
index bb8f4dd2af6816f535d093d2356333cb2aeeaa9a..78b4ea8388b87849b6b6414df4ba1d1088d21bc8 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoShapeIntersection.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoShapeIntersection.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOSHAPEINTERSECTION_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoShapePath.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoShapePath.h
index 865b0ac6ca81a02aff19a9217a0c829dd46a2e01..d2edb52b32a29e2764869379660df34de3c8d77c 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoShapePath.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoShapePath.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOSHAPEPATH_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoShapeShift.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoShapeShift.h
index 1ce41774816f95b66a820f6a2f8d8e4aad314084..595a86752bd907a8a43a386039bc13730db6e75c 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoShapeShift.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoShapeShift.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOSHAPESHIFT_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoShapeSubtraction.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoShapeSubtraction.h
index ca9cb581678e3f3bae730f1082bc2fc87bc3dd01..48367a8f8c8c93b0396ebb857e87079e00110b41 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoShapeSubtraction.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoShapeSubtraction.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOSHAPESUBTRACTION_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoShapeUnion.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoShapeUnion.h
index 47b66b8cefa822a5db8e8c7f57499b96c3c95831..c660548d2571627de9e498cbb8a407da90b633ac 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoShapeUnion.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoShapeUnion.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOSHAPEUNION_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoSimplePolygonBrep.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoSimplePolygonBrep.h
index 8e55f021e3fc9f42dc155e5f4024996c42b05743..b1671f196f3aaf97e1bb87cdf5f67f510172f004 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoSimplePolygonBrep.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoSimplePolygonBrep.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOSIMPLEPOLYGONBREP_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTessellatedSolid.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTessellatedSolid.h
index 44980db31701dafa9fcd656b5f2b701a6698157a..f6782f9b091601d2751b5b19904360986239d720 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTessellatedSolid.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTessellatedSolid.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOTESSELLATEDSOLID_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTorus.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTorus.h
index 2dba24c3a8f95c7be5383d79f0fe93f918a48049..9909002325cd8b2f91ac6a815df954a8d1de978e 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTorus.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTorus.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOTORUS_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTransform.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTransform.h
index d036550654e5b20853f0539c85f879397e16d60c..43e1d90197d1840e3c397722752455f54d75b54a 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTransform.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTransform.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOTRANSFORM_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTraversalState.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTraversalState.h
index 93dd009ce939bad7f8e1861b91f6142ac5b41bb7..1a084ab2cd0a3b52cf7313748ee49a56a1474e12 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTraversalState.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTraversalState.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOTRAVERSALSTATE_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTrd.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTrd.h
index 1912351c6737fd28c8e04d02255fd91b116f2e54..c373377679da964ba2abec1fb42fd69a1fd18559 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTrd.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTrd.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOTRD_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTube.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTube.h
index 46630438d8d02ad37e591dddc83aeb93a34232cf..6e7f496b21934b8b3efdd3ccfeb73668cd51fd57 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTube.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTube.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOTUBE_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTubs.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTubs.h
index 5e41b2238efbc8e7e4bcdd1e48f73c8b61949deb..59180eb1e61fb864a20ca586fe37b862b8fa2cc1 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTubs.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTubs.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOTUBS_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTwistedTrap.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTwistedTrap.h
index 6142d633ee5dda00bd8bf405be0778056f740440..a552821c995e96858964f340907119c512dadd79 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTwistedTrap.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTwistedTrap.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOTWISTEDTRAP_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoUnidentifiedShape.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoUnidentifiedShape.h
index 34d4efa1e6985b07e8b9ddd6e995761961c5c9fe..47a3c5957eb48fc4b5079ed973cd56a697a7bffe 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoUnidentifiedShape.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoUnidentifiedShape.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 //=========================================================================
 //
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoUtilFunctions.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoUtilFunctions.h
index ef800864a0906163a1d7c8fe55f47fd21e6e4023..5a002731557639953d4abf1ba9bab6b647547784 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoUtilFunctions.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoUtilFunctions.h
@@ -1,5 +1,5 @@
 /*
-Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOUTILFUNCTIONS_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVAlignmentStore.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVAlignmentStore.h
index 2d0c8746b48e56b240e66195e8ccc9c5738c369d..a6afe8ec1e3642bf9a7ced9eef115c36f5522fce 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVAlignmentStore.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVAlignmentStore.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOVALIGNMENTSTORE_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVDetectorElement.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVDetectorElement.h
index cd87452a334538a8817015637cd866edd3a51a48..61876a6a374ca7a0c1969c3ef84c70041bacb703 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVDetectorElement.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVDetectorElement.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOVDETECTORELEMENT_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVDetectorFactory.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVDetectorFactory.h
index 55e508910360b24f67c7bf3af8a1930c4c5a8608..2d094be6d23197e2bbe436a632eccc88df289ab2 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVDetectorFactory.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVDetectorFactory.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOVDETECTORFACTORY_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVDetectorManager.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVDetectorManager.h
index 0526ce30954ac4461f82b74f2043f1245928c1f4..596cf01ff7078ae31a26f18a233e864429c72f13 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVDetectorManager.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVDetectorManager.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOVDETECTORMANAGER_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVG4ExtensionSolid.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVG4ExtensionSolid.h
index 16310586431b69afe06f322462d1c0a7d6e2d918..3e021c193f750db59f34baf367974d2050146f38 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVG4ExtensionSolid.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVG4ExtensionSolid.h
@@ -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
 */
 
 #ifndef GEOMODELKERNEL_GEOVG4EXTENSIONSOLID_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVGeometryPlugin.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVGeometryPlugin.h
index ff028c3bfb3a22f750dc28de6c8063af697edbdc..ee6ad69024c2acfca6de0cd67b510d494b9a28d5 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVGeometryPlugin.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVGeometryPlugin.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOVGEOMETRYPLUGIN_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVSurface.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVSurface.h
index fef8ee09f1abacc8a222d80d654ea93f68263345..c1a6f3a1b0b4ce01c204fef3ae6ff1498353d3c0 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVSurface.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVSurface.h
@@ -20,19 +20,13 @@
 #include "GeoModelKernel/GeoPlacement.h"
 #include "GeoModelKernel/GeoNodePositioning.h"
 #include "GeoModelKernel/GeoDefinitions.h"
+#include "GeoModelKernel/throwExcept.h"
 #include <iostream>
 
 #include <exception>
 #include <sstream>
 
-#define THROW_EXCEPTION(MESSAGE)                      \
-    {                                                 \
-        std::stringstream except_str{};               \
-        except_str<<__FILE__<<":"<<__LINE__<<" --- "; \
-        except_str<<MESSAGE;                          \
-        throw std::runtime_error(except_str.str());   \
-    }
-    
+
 class GeoVSurface : public GeoPlacement, public GeoNodePositioning {
  public:
     using VSConstLink = GeoIntrusivePtr<const GeoVSurface>;
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVSurfaceShape.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVSurfaceShape.h
index 720047192946ca3374854da436f0fe5d5f36f67b..35a2e1286019641cab31dd3febf9a448ac5c4172 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVSurfaceShape.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVSurfaceShape.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
  * 
  *
  * Created on: Jul, 2024
@@ -14,17 +14,11 @@
 #include "GeoModelKernel/RCBase.h"
 #include "GeoModelKernel/GeoShapeAction.h"
 #include <GeoModelKernel/GeoDefinitions.h>
+#include <GeoModelKernel/throwExcept.h>
 #include <string>
 #include <exception>
 #include <sstream>
 
-#define THROW_EXCEPTION(MESSAGE)                      \
-    {                                                 \
-        std::stringstream except_str{};               \
-        except_str<<__FILE__<<":"<<__LINE__<<" --- "; \
-        except_str<<MESSAGE;                          \
-        throw std::runtime_error(except_str.str());   \
-    }
 using SurfaceShapeType = unsigned int; // here use decimal numbers. (why use hexadecimal int?)
 
 class GeoVSurfaceShape : public RCBase
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVolumeAction.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVolumeAction.h
index 9a8f387cb5562c1be87199aea6c0fba94c8b95b8..e9b24a7f169abc47b740806711ae1276812e822f 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVolumeAction.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVolumeAction.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOVOLUMEACTION_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVolumeCursor.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVolumeCursor.h
index b70ae1befd12260d9dc0fc897069ef5d6f44436d..bdd3db174cd48e5ad6f216065035051452b0912a 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVolumeCursor.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoVolumeCursor.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOVOLUMECURSOR_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoXF.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoXF.h
index 24ec712269714eb6078bc90bc071318bf61132b1..98fd22b635a72aa8756d5b43323c443f8eb5929a 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoXF.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoXF.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 //------------------------GeoTransformFunction--------------------------//
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeometryMap.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeometryMap.h
index b4001ecd6a306fefa5092f03f5f241f30b18a32e..47f4030ae27370a3e6c113560258cf8b9a2083b6 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeometryMap.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeometryMap.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOMETRYMAP_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/Path.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/Path.h
index c9604266ef0218e0b95abc8f81d749a6f2a6313a..d7e96808f28082b0329864fec9dc48e8e8b3d8b2 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/Path.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/Path.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_PATH_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/Query.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/Query.h
index 34487da8bef6d2ee206ce475ddade78152b9c0d3..f3cde970c7cb54bec945d5a7bb6abd64deea6713 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/Query.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/Query.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_QUERY_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/RCBase.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/RCBase.h
index fb1ea2a4d49497ead58d344022957b9d16ae3a6a..6c2e8b4b6b886eff3aeeff8b719d34b011575920 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/RCBase.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/RCBase.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/TemplateVolAction.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/TemplateVolAction.h
index 788d81d98583a1610d57aa28707171ed866036bd..ea27c2c98d4841a14e56d475d75c886afffb7d28 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/TemplateVolAction.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/TemplateVolAction.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_TEMPLATEVOLACTION_H
diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/TinyHepTransform.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/TinyHepTransform.h
index d0d162fa27d9238dd0513bd67a466ac5a430720d..f815d61503e811af53694d0fc8d0d5735f98d90b 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/TinyHepTransform.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/TinyHepTransform.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef _TINYHEPTRANSFORM_H_
diff --git a/GeoModelCore/GeoModelHelpers/GeoModelHelpers/throwExcept.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/throwExcept.h
similarity index 100%
rename from GeoModelCore/GeoModelHelpers/GeoModelHelpers/throwExcept.h
rename to GeoModelCore/GeoModelKernel/GeoModelKernel/throwExcept.h
diff --git a/GeoModelCore/GeoModelKernel/doc/packagedoc.h b/GeoModelCore/GeoModelKernel/doc/packagedoc.h
index e7b866ef33c6744996982ed2b1835bb5f409af77..5491c0d28881784c2bb6c32cd5c86f9495d4a75c 100755
--- a/GeoModelCore/GeoModelKernel/doc/packagedoc.h
+++ b/GeoModelCore/GeoModelKernel/doc/packagedoc.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
diff --git a/GeoModelCore/GeoModelKernel/src/CellBinning.cxx b/GeoModelCore/GeoModelKernel/src/CellBinning.cxx
index b146f30ddc6184e2fe1acdc75bc51703c733b816..9aaddd2eb63509c79779c5099273a584a890e72d 100755
--- a/GeoModelCore/GeoModelKernel/src/CellBinning.cxx
+++ b/GeoModelCore/GeoModelKernel/src/CellBinning.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/CellBinning.h"
diff --git a/GeoModelCore/GeoModelKernel/src/CellPartitioning.cxx b/GeoModelCore/GeoModelKernel/src/CellPartitioning.cxx
index f2f2fe999de845b4c7bc28bd80d948139364981c..e8d43baef83ec4f253d992cbee2c9fc0ae545966 100755
--- a/GeoModelCore/GeoModelKernel/src/CellPartitioning.cxx
+++ b/GeoModelCore/GeoModelKernel/src/CellPartitioning.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/CellPartitioning.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoAccessSurfaceAction.cxx b/GeoModelCore/GeoModelKernel/src/GeoAccessSurfaceAction.cxx
index ed9ecd43195220c9dbc691c385d0bfa37a878f0b..26ab0c963971dde8644861fc5a9da7dfd04e1e90 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoAccessSurfaceAction.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoAccessSurfaceAction.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoAccessSurfaceAction.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoAccessVolAndSTAction.cxx b/GeoModelCore/GeoModelKernel/src/GeoAccessVolAndSTAction.cxx
index 45bee94810c8760eb1f72ed290a2781fd68e8d22..a7b1ac2a3039a1ed9a4ae2005401a309092e0b5f 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoAccessVolAndSTAction.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoAccessVolAndSTAction.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoAccessVolAndSTAction.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoAccessVolumeAction.cxx b/GeoModelCore/GeoModelKernel/src/GeoAccessVolumeAction.cxx
index 9b77139028b7e2191cd67f3f1348079a0579ee0b..82bf0cc65a53550f99ac031c4d64bb840e7abd39 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoAccessVolumeAction.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoAccessVolumeAction.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoAccessVolumeAction.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoAlignableTransform.cxx b/GeoModelCore/GeoModelKernel/src/GeoAlignableTransform.cxx
index e5c08560f6c06140fd153d6d733af841a993ab1c..8e41590c983b4a70de801988f3b0d49718d82557 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoAlignableTransform.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoAlignableTransform.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoAlignableTransform.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoBox.cxx b/GeoModelCore/GeoModelKernel/src/GeoBox.cxx
index 327b72cee7570fc69a479926b81040ad83d8db04..5d5ded7d12e18178e34efb61be0a801ca9737b6e 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoBox.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoBox.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoBox.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoClearAbsPosAction.cxx b/GeoModelCore/GeoModelKernel/src/GeoClearAbsPosAction.cxx
index 7383e12e342f6524a8a40629729f1e311935457a..307223527d494fde348e905bdd4e407bea498fec 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoClearAbsPosAction.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoClearAbsPosAction.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoClearAbsPosAction.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoCons.cxx b/GeoModelCore/GeoModelKernel/src/GeoCons.cxx
index 4c08094624e962d8fe302ac7a46584b94d001931..3c0f6428c6f93991b1f9129379dcb302389f6c3b 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoCons.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoCons.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoCons.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoCountSurfaceAction.cxx b/GeoModelCore/GeoModelKernel/src/GeoCountSurfaceAction.cxx
index 359901d08d829c5f9e5862157750279d67c10a71..d81389bd58a40e4a4d9999984ada6fd0ff42e3fe 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoCountSurfaceAction.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoCountSurfaceAction.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoCountSurfaceAction.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoCountVolAction.cxx b/GeoModelCore/GeoModelKernel/src/GeoCountVolAction.cxx
index 613d35e9f74f6905dd50ddf32b4e9092f302374c..9d65fc51878553460eb5c95ae052456f44ab5d11 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoCountVolAction.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoCountVolAction.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoCountVolAction.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoCountVolAndSTAction.cxx b/GeoModelCore/GeoModelKernel/src/GeoCountVolAndSTAction.cxx
index 1bc7b55b01357eeb45cd8c2ee34e1c44e4f0c73f..cd612b29c0ff4975c0c2d32279b93751149b109a 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoCountVolAndSTAction.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoCountVolAndSTAction.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoCountVolAndSTAction.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoCutVolAction.cxx b/GeoModelCore/GeoModelKernel/src/GeoCutVolAction.cxx
index 884503f5d984dad8ebe44c78d3d750f4dae9dd7f..8f4e43578e7c327c3abaa5141ce7d9c945ce61b3 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoCutVolAction.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoCutVolAction.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoCutVolAction.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoElement.cxx b/GeoModelCore/GeoModelKernel/src/GeoElement.cxx
index 5b4db7973ec723596a706918b37626162404cd54..d2225aeb4762ef514d72eded70ffd6a5342feb09 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoElement.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoElement.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoElement.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoEllipticalTube.cxx b/GeoModelCore/GeoModelKernel/src/GeoEllipticalTube.cxx
index f1e9e487deab5e145d93163caee454bdd6c301f5..4a3a0c5edbc190debdaedadf26b1b95f07ba3ae1 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoEllipticalTube.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoEllipticalTube.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoPolyhedrizeAction.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoFacet.cxx b/GeoModelCore/GeoModelKernel/src/GeoFacet.cxx
index 3c20b5ee6120e2ee29d77846acde905d72ce3c65..1ddd24a6ecf01b269b59ee17ac99537c6fff4fca 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoFacet.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoFacet.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include <utility>
diff --git a/GeoModelCore/GeoModelKernel/src/GeoFullPhysVol.cxx b/GeoModelCore/GeoModelKernel/src/GeoFullPhysVol.cxx
index e5407da5094d1791aaa2b85f1412df875f8e3bd5..c3c09efc74e54110f526e48e44ec0d1dbf4dbd41 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoFullPhysVol.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoFullPhysVol.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoFullPhysVol.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoGenericTrap.cxx b/GeoModelCore/GeoModelKernel/src/GeoGenericTrap.cxx
index fe87f7fc0123f69839919c1288ad15bceb79ba53..9cff4f84a00aa69cff421200db50b8faba9b9358 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoGenericTrap.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoGenericTrap.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoGenericTrap.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoGraphNode.cxx b/GeoModelCore/GeoModelKernel/src/GeoGraphNode.cxx
index d39f2cd75ba856c116642e35b83f6ffe318b1c4c..9872b364699ab030adaeaf6b0e9d3bb389ba609c 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoGraphNode.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoGraphNode.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoGraphNode.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoIdentifierTag.cxx b/GeoModelCore/GeoModelKernel/src/GeoIdentifierTag.cxx
index fe6a9bf5fd6f958e503a3ab74625e40e53048cab..df18f9cceb85b188eeb42bc67ea43ad9e169646d 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoIdentifierTag.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoIdentifierTag.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoIdentifierTag.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoLogVol.cxx b/GeoModelCore/GeoModelKernel/src/GeoLogVol.cxx
index 3f86839f0cb12d028b2ad3cd8f138daaf1c7c201..394b2d64d931fad8f60542f0413a1d9452618e14 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoLogVol.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoLogVol.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoLogVol.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoMaterial.cxx b/GeoModelCore/GeoModelKernel/src/GeoMaterial.cxx
index bff4f32ebe1d37931205715fe18ef8a860525e62..af658278215afe4f43d93a6c18787fbb805f9e85 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoMaterial.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoMaterial.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoMaterial.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoNameTag.cxx b/GeoModelCore/GeoModelKernel/src/GeoNameTag.cxx
index 1dc26acea3e08f7c0bcc7516015291edb90dcdfc..cfab262a9bcd170c00948f6e88f4577a60d04a57 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoNameTag.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoNameTag.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoNameTag.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoNodeAction.cxx b/GeoModelCore/GeoModelKernel/src/GeoNodeAction.cxx
index bd12c594faa5572251c2b3207d1eaaba186d254b..7732f697cdeb03dfde1ec6651862577715f87332 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoNodeAction.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoNodeAction.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoNodeAction.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoNodePositioning.cxx b/GeoModelCore/GeoModelKernel/src/GeoNodePositioning.cxx
index 51914d11d9bb9850a3a767c9aff69b6f9153c3ba..dc33be766178100100d9b26cea05676e683178be 100644
--- a/GeoModelCore/GeoModelKernel/src/GeoNodePositioning.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoNodePositioning.cxx
@@ -3,6 +3,7 @@
 */
 
 #include "GeoModelKernel/GeoNodePositioning.h"
+#include "GeoModelKernel/throwExcept.h"
 #include "GeoModelKernel/GeoVPhysVol.h"
 
 #include <mutex>
@@ -19,7 +20,7 @@ GeoNodePositioning::GeoNodePositioning(const GeoPlacement* node):
     GeoTrf::Transform3D tProd{GeoTrf::Transform3D::Identity()};
     
     if(m_node->isShared()) {
-      throw std::runtime_error("GeoPlacement node is shared");
+      THROW_EXCEPTION("GeoPlacement node is shared");
     }
     GeoIntrusivePtr<const GeoPlacement> child{m_node}, parent{m_node->getParent()};
     while (parent) {
@@ -27,7 +28,7 @@ GeoNodePositioning::GeoNodePositioning(const GeoPlacement* node):
       tProd = transform * tProd;
       child = parent;
       if(child->isShared()) {
-        throw std::runtime_error("GeoPlacement node is shared.");
+        THROW_EXCEPTION("GeoPlacement node is shared.");
       } else {
         parent = child->getParent();
       }
@@ -70,7 +71,7 @@ const GeoTrf::Transform3D& GeoNodePositioning::getCachedAbsoluteTransform(const
       assert(storedPos != nullptr);    
       if(storedPos) return *storedPos;
   }
-  throw std::runtime_error("Failed to find the cached absolute transform ");
+  THROW_EXCEPTION("Failed to find the cached absolute transform ");
 }
 
 void GeoNodePositioning::clearPositionInfo() const {
@@ -115,7 +116,7 @@ const GeoTrf::Transform3D&
     
     if(storedPos) return *storedPos;
   }
-  throw std::runtime_error("Failed to find the cached default absolute transform. ");
+  THROW_EXCEPTION("Failed to find the cached default absolute transform. ");
 }
 
 
diff --git a/GeoModelCore/GeoModelKernel/src/GeoPara.cxx b/GeoModelCore/GeoModelKernel/src/GeoPara.cxx
index cd195a9548b5c133f3a2193dfccef2962d34456a..e13e431b0c7031048b63d836d29ae57aed0b35f6 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoPara.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoPara.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include <cmath>
diff --git a/GeoModelCore/GeoModelKernel/src/GeoPcon.cxx b/GeoModelCore/GeoModelKernel/src/GeoPcon.cxx
index 23c617cb96a27a74b184852c0ce8e196c438f6f7..f294264bcc0ecb10a7541b0ae73c18b1a3ae1056 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoPcon.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoPcon.cxx
@@ -1,9 +1,10 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoPcon.h"
 #include "GeoModelKernel/GeoShapeAction.h"
+#include "GeoModelKernel/throwExcept.h"
 #include <cmath>
 #include <stdexcept>
 
@@ -18,7 +19,7 @@ GeoPcon::GeoPcon (double SPhi, double DPhi)
 double GeoPcon::volume (int) const
 {
   if (!isValid ())
-    throw std::runtime_error ("Volume requested for incomplete polycone");
+    THROW_EXCEPTION("Volume requested for incomplete polycone");
   double vol = 0;
   for (size_t k = 0; k < getNPlanes() - 1; ++k)
   {
@@ -38,7 +39,7 @@ void GeoPcon::extent (double& xmin, double& ymin, double& zmin,
                       double& xmax, double& ymax, double& zmax) const
 {
   if (!isValid ())
-    throw std::runtime_error ("Extent requested for incomplete polycone");
+    THROW_EXCEPTION("Extent requested for incomplete polycone");
   double rmin = getRMinPlane(0);
   double rmax = getRMaxPlane(0);
   zmin = zmax = getZPlane(0);
diff --git a/GeoModelCore/GeoModelKernel/src/GeoPerfUtils.cxx b/GeoModelCore/GeoModelKernel/src/GeoPerfUtils.cxx
index 57405a2ddd4cad35317ecf829c51dc48dcc5e589..83175c1651b23e36fb9f9517b789c5bc13aa5f29 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoPerfUtils.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoPerfUtils.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoPerfUtils.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoPgon.cxx b/GeoModelCore/GeoModelKernel/src/GeoPgon.cxx
index 2ad286208214e7195a47a0c90ceab7b4f4b4df63..1a55a617ec16bc873408dbe66a0fc1750cb3d7e3 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoPgon.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoPgon.cxx
@@ -1,9 +1,10 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoPgon.h"
 #include "GeoModelKernel/GeoShapeAction.h"
+#include "GeoModelKernel/throwExcept.h"
 #include <cmath>
 #include <stdexcept>
 
@@ -16,13 +17,10 @@ GeoPgon::GeoPgon (double SPhi, double DPhi, unsigned int NSides)
   , m_nSides (NSides)
 {}
 
-double GeoPgon::volume (int) const
-{
-#ifndef M_PI
-  constexpr double M_PI = 3.14159265358979323846;
-#endif
+double GeoPgon::volume (int) const {
+
   if (!isValid ())
-    throw std::runtime_error ("Volume requested for incomplete polygon");
+    THROW_EXCEPTION("Volume requested for incomplete polygon");
   double vol = 0.0;
   for (size_t k = 0; k < getNPlanes() - 1; ++k) {
     double z1 = getZPlane(k);
@@ -45,11 +43,9 @@ double GeoPgon::volume (int) const
 void GeoPgon::extent (double& xmin, double& ymin, double& zmin,
                       double& xmax, double& ymax, double& zmax) const
 {
-#ifndef M_PI
-  constexpr double M_PI = 3.14159265358979323846;
-#endif
+
   if (!isValid ())
-    throw std::runtime_error ("Extent requested for incomplete polygon");
+    THROW_EXCEPTION("Extent requested for incomplete polygon");
   double rmin = getRMinPlane(0);
   double rmax = getRMaxPlane(0);
   zmin = zmax = getZPlane(0);
diff --git a/GeoModelCore/GeoModelKernel/src/GeoPlacement.cxx b/GeoModelCore/GeoModelKernel/src/GeoPlacement.cxx
index 258b08962d84590a58c720199b896dafb3572bdb..b59161d4f437502f5cafce8ef1319eb300c58139 100644
--- a/GeoModelCore/GeoModelKernel/src/GeoPlacement.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoPlacement.cxx
@@ -31,7 +31,7 @@ GeoTrf::Transform3D GeoPlacement::getX(const GeoVAlignmentStore* store) const {
   //
   // Check we are not shared:
   //
-  if (isShared()) throw std::runtime_error("Transform requested from shared volume");
+  if (isShared()) THROW_EXCEPTION("Transform requested from shared volume");
   GeoTrf::Transform3D xform{GeoTrf::Transform3D::Identity()};
 
   if (!m_parentPtr) {
@@ -74,7 +74,7 @@ GeoTrf::Transform3D GeoPlacement::getDefX(const GeoVAlignmentStore* store) const
   //
   // Check we are not shared:
   //
-  if (isShared()) throw std::runtime_error("Transform requested from shared volume");
+  if (isShared()) THROW_EXCEPTION("Transform requested from shared volume");
   GeoTrf::Transform3D xform{GeoTrf::Transform3D::Identity()};
 
   if (!m_parentPtr) {
diff --git a/GeoModelCore/GeoModelKernel/src/GeoPolyhedrizeAction.cxx b/GeoModelCore/GeoModelKernel/src/GeoPolyhedrizeAction.cxx
index c4f0d8b8b67a44d140f6603176da03918e53b55c..4d07344d376721edac4eee4d39278cdf869edf9d 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoPolyhedrizeAction.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoPolyhedrizeAction.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoPolyhedrizeAction.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoPrintGraphAction.cxx b/GeoModelCore/GeoModelKernel/src/GeoPrintGraphAction.cxx
index 737d56e140e075bba93fa7285b382495dd3fcd6f..7e951a8a4e9f2d8b94412f3b7ad9f80894466ae7 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoPrintGraphAction.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoPrintGraphAction.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoPrintGraphAction.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoPublisher.cxx b/GeoModelCore/GeoModelKernel/src/GeoPublisher.cxx
index 6be9fb15aeefa5664f8de99a5b12daf224c32668..99874c512ef66a0166e14cca915a042b643a72bb 100644
--- a/GeoModelCore/GeoModelKernel/src/GeoPublisher.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoPublisher.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 // Author: Riccardo Maria Bianchi @ CERN
diff --git a/GeoModelCore/GeoModelKernel/src/GeoSelClearAbsPosAction.cxx b/GeoModelCore/GeoModelKernel/src/GeoSelClearAbsPosAction.cxx
index a1c32a6155e5614f1521547ec0f5c6af671b5e78..aa469ebbcf5ae5443b96bdadccbcf709218c5542 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoSelClearAbsPosAction.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoSelClearAbsPosAction.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoSelClearAbsPosAction.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoSelClearAbsPosAction.h b/GeoModelCore/GeoModelKernel/src/GeoSelClearAbsPosAction.h
index 251dae80515d01ee8f32028760292c12f6f3ead2..abdcde181d02ca1d1bd69c1949bc963fdcf62ba5 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoSelClearAbsPosAction.h
+++ b/GeoModelCore/GeoModelKernel/src/GeoSelClearAbsPosAction.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef GEOMODELKERNEL_GEOSELCLEARABSPOSACTION_H
diff --git a/GeoModelCore/GeoModelKernel/src/GeoSerialDenominator.cxx b/GeoModelCore/GeoModelKernel/src/GeoSerialDenominator.cxx
index af65ced105dc4ac2cf349be0a52df970cb544240..96c1bc962d78d69eb1a9d07763ce93d12f24f5d5 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoSerialDenominator.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoSerialDenominator.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoSerialDenominator.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoSerialIdentifier.cxx b/GeoModelCore/GeoModelKernel/src/GeoSerialIdentifier.cxx
index c5984b9620f2e85ac4b9929a5ebf8d9d6082609e..6aa2479caab982e178d6a3b829f3219b4c56b0c1 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoSerialIdentifier.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoSerialIdentifier.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoSerialIdentifier.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoSerialTransformer.cxx b/GeoModelCore/GeoModelKernel/src/GeoSerialTransformer.cxx
index 99aa495ad915867c9244b7f7fa7433d685ac4dc1..dfe66684a5affa2236dca31405c6249dae78177d 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoSerialTransformer.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoSerialTransformer.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoSerialTransformer.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoShape.cxx b/GeoModelCore/GeoModelKernel/src/GeoShape.cxx
index 78aa1cb7874c8da06a3831d15b325627a1a3f8e1..1731dc669b51827bac8be76b2492e3b55358dead 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoShape.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoShape.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoShape.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoShapeAction.cxx b/GeoModelCore/GeoModelKernel/src/GeoShapeAction.cxx
index 283854ba96cda86414d712adb129f6af64f3c5ad..36b7f656c8d2ebd99693c3e6151a5c20a298b853 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoShapeAction.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoShapeAction.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoShapeAction.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoShapeIntersection.cxx b/GeoModelCore/GeoModelKernel/src/GeoShapeIntersection.cxx
index 219f0109c4ed1f1efd4a6d58b897a0a6532be92c..71b9f8d75ede0d1c9c5053dba183c28b6b044206 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoShapeIntersection.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoShapeIntersection.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoShapeIntersection.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoSimplePolygonBrep.cxx b/GeoModelCore/GeoModelKernel/src/GeoSimplePolygonBrep.cxx
index 001088ace0dc5bdc9280d4c0c811533379560160..e8c6ddfc1cac4550ed3e6eb6bd1530b29fe503f7 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoSimplePolygonBrep.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoSimplePolygonBrep.cxx
@@ -1,9 +1,10 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoSimplePolygonBrep.h"
 #include "GeoModelKernel/GeoShapeAction.h"
+#include "GeoModelKernel/throwExcept.h"
 #include "PolygonTriangulator.h"//For volume.
 #include <cmath>
 #include <stdexcept>
@@ -17,7 +18,7 @@ GeoSimplePolygonBrep::GeoSimplePolygonBrep(double dz)
 
 double GeoSimplePolygonBrep::volume (int) const {
   if (!isValid())
-    throw std::runtime_error ("Volume requested for incomplete simple polygon brep");
+    THROW_EXCEPTION("Volume requested for incomplete simple polygon brep");
   int n = getNVertices();
   double area = m_xVertices[n - 1] * m_yVertices[0] - m_xVertices[0] * m_yVertices[n - 1];
   for (int k = 1; k < n; ++k)
@@ -31,7 +32,7 @@ void GeoSimplePolygonBrep::extent (double& xmin, double& ymin, double& zmin,
                                    double& xmax, double& ymax, double& zmax) const
 {
   if (!isValid())
-    throw std::runtime_error ("Extent requested for incomplete simple polygon brep");
+    THROW_EXCEPTION("Extent requested for incomplete simple polygon brep");
   xmin = xmax = m_xVertices[0];
   ymin = ymax = m_yVertices[0];
   for (size_t k = 1; k < getNVertices(); ++k)
diff --git a/GeoModelCore/GeoModelKernel/src/GeoTessellatedSolid.cxx b/GeoModelCore/GeoModelKernel/src/GeoTessellatedSolid.cxx
index 19fcfee86c552495ee532ace6ff820831df02ef0..8f1a9feffda7fbf40c016edaef2e752bda8b764e 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoTessellatedSolid.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoTessellatedSolid.cxx
@@ -1,9 +1,9 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
-
 #include "GeoModelKernel/GeoTessellatedSolid.h"
 #include "GeoModelKernel/GeoShapeAction.h"
+#include "GeoModelKernel/throwExcept.h"
 #include <stdexcept>
 
 const std::string GeoTessellatedSolid::s_classType = "TessellatedSolid";
@@ -16,7 +16,7 @@ GeoTessellatedSolid::GeoTessellatedSolid()
 double GeoTessellatedSolid::volume(int) const
 {
   if (!isValid ())
-    throw std::runtime_error ("Volume requested for incomplete tessellated solid");
+    THROW_EXCEPTION("Volume requested for incomplete tessellated solid");
   double v = 0.;
   for (size_t i = 0; i < getNumberOfFacets(); ++i)
   {
@@ -28,7 +28,7 @@ double GeoTessellatedSolid::volume(int) const
     v += facet->getVertex(0).dot(e1.cross(e2));
   }
   if (v < 0.)
-    throw std::runtime_error ("Incorrect order of vertices in tessellated solid");
+    THROW_EXCEPTION("Incorrect order of vertices in tessellated solid");
   return v*(1./6.);
 }
 
@@ -36,7 +36,7 @@ void GeoTessellatedSolid::extent (double& xmin, double& ymin, double& zmin,
                                   double& xmax, double& ymax, double& zmax) const
 {
   if (!isValid ())
-    throw std::runtime_error ("Extent requested for incomplete tessellated solid");
+    THROW_EXCEPTION("Extent requested for incomplete tessellated solid");
   GeoFacet* facet = getFacet(0);
   GeoTrf::Vector3D vertex = facet->getVertex(0);
   xmin = xmax = vertex.x();
@@ -63,7 +63,7 @@ void GeoTessellatedSolid::extent (double& xmin, double& ymin, double& zmin,
 
 bool GeoTessellatedSolid::contains (double x, double y, double z) const
 {
-  throw std::runtime_error ("GeoTessellatedSolid::contains(x,y,z) is not implemented");
+  THROW_EXCEPTION("GeoTessellatedSolid::contains(x,y,z) is not implemented");
   return false;
 }
 
diff --git a/GeoModelCore/GeoModelKernel/src/GeoTorus.cxx b/GeoModelCore/GeoModelKernel/src/GeoTorus.cxx
index 8626a6cb184fe97c8d2a32e70008d5ea14172327..def70e3429bbc3de94b0feb3af80238133c5fb9a 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoTorus.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoTorus.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoTorus.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoTransform.cxx b/GeoModelCore/GeoModelKernel/src/GeoTransform.cxx
index d9543ee348bacca073c136faf8dca9d0e8b2196c..26b963e440f4ec7a6a3e27c9709bef71c6fab054 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoTransform.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoTransform.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoTransform.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoTrap.cxx b/GeoModelCore/GeoModelKernel/src/GeoTrap.cxx
index 45b39da985a1eeae88bdbe6b2cad9871ddc5ea54..56adb960048a05002180cb6a47dca62d2e838321 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoTrap.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoTrap.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoTrap.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoTraversalState.cxx b/GeoModelCore/GeoModelKernel/src/GeoTraversalState.cxx
index 644d1c9adf146c9d4fa4deeb513120b6563115c3..054f2d7eb20a99ea6b9b941282609be2fbf28bf4 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoTraversalState.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoTraversalState.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoTraversalState.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoTrd.cxx b/GeoModelCore/GeoModelKernel/src/GeoTrd.cxx
index 3d35073e962a56c7f66ed7238b96c8160e14598c..287e5f38f81b616e1af7ce14aaac15ae5114b808 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoTrd.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoTrd.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoTrd.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoTube.cxx b/GeoModelCore/GeoModelKernel/src/GeoTube.cxx
index 35f10c2fa89ac51d8bfcad249964cf1860e0db9d..431086fbd63bfeb9cc99320774a53e0add68b4dc 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoTube.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoTube.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoTube.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoTubs.cxx b/GeoModelCore/GeoModelKernel/src/GeoTubs.cxx
index ea699ee0743e2ec06e328ea8633a28e05d6c6634..1c1a0dd9322015a5b03f7291ebf5f200b0c966c1 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoTubs.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoTubs.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoTubs.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoTwistedTrap.cxx b/GeoModelCore/GeoModelKernel/src/GeoTwistedTrap.cxx
index 35311e4d920ff372e543ac1d1ecfbeb5e3f2149f..239b3d7d332d00bbafd32cf0b1813d76ddabc21e 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoTwistedTrap.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoTwistedTrap.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoTwistedTrap.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoUnidentifiedShape.cxx b/GeoModelCore/GeoModelKernel/src/GeoUnidentifiedShape.cxx
index a5292a185b981b0fdc4fec9e730c98e5ed30c02e..77433f524267cfc2934ed927f5cd6799d5941b93 100644
--- a/GeoModelCore/GeoModelKernel/src/GeoUnidentifiedShape.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoUnidentifiedShape.cxx
@@ -1,14 +1,17 @@
+/*
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
+*/
 #include "GeoModelKernel/GeoUnidentifiedShape.h"
 #include "GeoModelKernel/Query.h"
 #include "GeoModelKernel/GeoShapeAction.h"
+#include "GeoModelKernel/throwExcept.h"
 #include <stdexcept>
 
 const std::string         GeoUnidentifiedShape::_classType="UnidentifiedShape";
 const ShapeType           GeoUnidentifiedShape::_classTypeID=0xFFFFFFFF;
 
 // Destructor:
-GeoUnidentifiedShape::~GeoUnidentifiedShape() {
-}
+GeoUnidentifiedShape::~GeoUnidentifiedShape() = default;
 
 // Constructor:
 GeoUnidentifiedShape::GeoUnidentifiedShape(const std::string & name):
@@ -44,14 +47,14 @@ double GeoUnidentifiedShape::volume () const {
 void GeoUnidentifiedShape::extent (double& xmin, double& ymin, double& zmin,
                                    double& xmax, double& ymax, double& zmax) const
 {
-  throw std::runtime_error ("GeoUndefinedShape::extent is not implemented");
+  THROW_EXCEPTION("GeoUndefinedShape::extent is not implemented");
   xmin = ymin = zmin = xmax = ymax = zmax = 0.;
 }
 
 // Returns true if the shape contains the point, false otherwise
 bool GeoUnidentifiedShape::contains (double x, double y, double z) const
 {
-  throw std::runtime_error ("GeoUndefinedShape::contains(x,y,z) is not implemented");
+  THROW_EXCEPTION("GeoUndefinedShape::contains(x,y,z) is not implemented");
   return false;
 }
 
diff --git a/GeoModelCore/GeoModelKernel/src/GeoVDetectorElement.cxx b/GeoModelCore/GeoModelKernel/src/GeoVDetectorElement.cxx
index d84ed8e2cbe9919920b12715da16648397711dfc..73e6ae3ddfc402d7010f1eacee8c80c2d55e5a4d 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoVDetectorElement.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoVDetectorElement.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoVDetectorElement.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoVDetectorFactory.cxx b/GeoModelCore/GeoModelKernel/src/GeoVDetectorFactory.cxx
index 25daefa33e6648875eab75b928d3063cb5d89b5c..1009fec35d8594dbdbe9707c674eff4bf0faf618 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoVDetectorFactory.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoVDetectorFactory.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoVDetectorFactory.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoVDetectorManager.cxx b/GeoModelCore/GeoModelKernel/src/GeoVDetectorManager.cxx
index c5b8370f51f351d5c763898d7c849521773754df..679dc5a0d95f3fd55690b3e5ab5147c8803e543c 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoVDetectorManager.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoVDetectorManager.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoVDetectorManager.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoVFullPhysVol.cxx b/GeoModelCore/GeoModelKernel/src/GeoVFullPhysVol.cxx
index 1c014d7ee148efe8a02dbf8bb36ed7fa8772ed37..4725709790c6ad112a4b06af8109ed47c0537cef 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoVFullPhysVol.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoVFullPhysVol.cxx
@@ -1,9 +1,10 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoVFullPhysVol.h"
 #include "GeoModelKernel/GeoVAlignmentStore.h"
+#include "GeoModelKernel/throwExcept.h"
 #include <string>
 GeoVFullPhysVol::GeoVFullPhysVol(const GeoLogVol* logVol)
   : GeoVPhysVol{logVol},
@@ -16,12 +17,11 @@ const std::string &  GeoVFullPhysVol::getAbsoluteName () const
   //                                                                                                //     
   // Get ready for something to go wrong:                                                           //     
   //                                                                                                //     
-  static std::string errorMessage("Full Physical Volume errroneously placed in a shared portion of a detector description graph.\nName of shared volume:  ");
   //                                                                                                //     
   //------------------------------------------------------------------------------------------------//     
 
   if(m_absName == "") {
-    if(isShared()) throw std::runtime_error(errorMessage);
+    if(isShared()) THROW_EXCEPTION("Full Physical Volume errroneously placed in a shared portion of a detector description graph.\nName of shared volume: ");
 
     //
     // Check the cache.  If it is empty, compute the absolute position from the
@@ -37,7 +37,7 @@ const std::string &  GeoVFullPhysVol::getAbsoluteName () const
       tProd = tProd + "/" + name;
       child = parent;
       if (child->isShared ()) {
-        throw std::runtime_error(errorMessage);
+        THROW_EXCEPTION("Full Physical Volume errroneously placed in a shared portion of a detector description graph.\nName of shared volume: ");
       }
       else {
         parent = child->getParent ();
@@ -55,12 +55,11 @@ unsigned int GeoVFullPhysVol::getId () const
   //                                                                                                //     
   // Get ready for something to go wrong:                                                           //     
   //                                                                                                //     
-  static std::string errorMessage("Full Physical Volume errroneously placed in a shared portion of a detector description graph.\nName of shared volume:  ");
   //                                                                                                //     
   //------------------------------------------------------------------------------------------------//     
 
   if(!m_id) {
-    if(isShared()) throw std::runtime_error(errorMessage);
+    if(isShared()) THROW_EXCEPTION("Full Physical Volume errroneously placed in a shared portion of a detector description graph.\nName of shared volume:  ");
 
     //     
     // Check the cache.  If it is empty, compute the absolute position from the     
@@ -68,7 +67,7 @@ unsigned int GeoVFullPhysVol::getId () const
     //     
     PVConstLink child = this, parent = nullptr;
     if(child->isShared()) {
-      throw std::runtime_error(errorMessage);
+      THROW_EXCEPTION("Full Physical Volume errroneously placed in a shared portion of a detector description graph.\nName of shared volume:  ");
     }	
     else {
       parent = child->getParent();
diff --git a/GeoModelCore/GeoModelKernel/src/GeoVPhysVol.cxx b/GeoModelCore/GeoModelKernel/src/GeoVPhysVol.cxx
index b53c82778e4c5b817ad010041c4cf41b0f692354..11a554b671a2c3608cbb4d01e1080a810d3b2652 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoVPhysVol.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoVPhysVol.cxx
@@ -67,7 +67,7 @@ void GeoVPhysVol::apply(GeoVolumeAction *action) const {
     if(action->shouldTerminate()) return;  // To Do: do I need this?
     break;
   default:
-    throw std::runtime_error("GeoVPhysVol::apply(). Unsupported GeoVolumeAction type " + std::to_string((unsigned)action->getType()));
+    THROW_EXCEPTION("GeoVPhysVol::apply(). Unsupported GeoVolumeAction type "<<action->getType());
   }
 }
 
diff --git a/GeoModelCore/GeoModelKernel/src/GeoVolumeAction.cxx b/GeoModelCore/GeoModelKernel/src/GeoVolumeAction.cxx
index 5dbf90ff2ce428000a758d013f10d4fa5071c55b..819f53c4caf83f40acd16a76087f3c52a75fcdca 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoVolumeAction.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoVolumeAction.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoVolumeAction.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoVolumeCursor.cxx b/GeoModelCore/GeoModelKernel/src/GeoVolumeCursor.cxx
index a6d9575d36f271106fe1c14cef1a902dd2cf4143..d28c9d1c1d606f9c40e2e9788e12be92cb62fd24 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoVolumeCursor.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoVolumeCursor.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoVolumeCursor.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeoXF.cxx b/GeoModelCore/GeoModelKernel/src/GeoXF.cxx
index 23cac3f8806844d230ec637264e52b1bfcb85f0b..32b17b3993c74c96127e81e83ab27dce2f8710d0 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoXF.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoXF.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeoXF.h"
diff --git a/GeoModelCore/GeoModelKernel/src/GeometryMap.cxx b/GeoModelCore/GeoModelKernel/src/GeometryMap.cxx
index 5e01d9de316e8a469ff4df3cc423abaec05b2307..1dc84d971683314550bacf66ebcb4b7212c71563 100755
--- a/GeoModelCore/GeoModelKernel/src/GeometryMap.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeometryMap.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/GeometryMap.h"
diff --git a/GeoModelCore/GeoModelKernel/src/TemplateVolAction.cxx b/GeoModelCore/GeoModelKernel/src/TemplateVolAction.cxx
index e1dccfb1776c8dea10877a8c4fbc562d8864a16f..68bd840603b33cf05160aecd5e20951e236ed709 100755
--- a/GeoModelCore/GeoModelKernel/src/TemplateVolAction.cxx
+++ b/GeoModelCore/GeoModelKernel/src/TemplateVolAction.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoModelKernel/TemplateVolAction.h"
diff --git a/GeoModelCore/GeoModelKernel/tests/testEulerAngles.cxx b/GeoModelCore/GeoModelKernel/tests/testEulerAngles.cxx
index ce40c595c380dcc5e4b4d35aabf0b287fa451d4c..861c1fdc65ef094cf5191570d025cc9b558e85a1 100644
--- a/GeoModelCore/GeoModelKernel/tests/testEulerAngles.cxx
+++ b/GeoModelCore/GeoModelKernel/tests/testEulerAngles.cxx
@@ -1,4 +1,4 @@
-// Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+// Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 
 
 
diff --git a/GeoModelCore/GeoModelKernel/tests/testGeoIntrusivePtr.cxx b/GeoModelCore/GeoModelKernel/tests/testGeoIntrusivePtr.cxx
index 29c1a5bfd2005efbd3f105b84c9e88e8b3853186..e3c211a4b94969fc1c60a70367a01e642a801e46 100644
--- a/GeoModelCore/GeoModelKernel/tests/testGeoIntrusivePtr.cxx
+++ b/GeoModelCore/GeoModelKernel/tests/testGeoIntrusivePtr.cxx
@@ -1,4 +1,4 @@
-// Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+// Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 
 
 #include <GeoModelKernel/GeoFullPhysVol.h>
diff --git a/GeoModelExamples/HelloToy/step1_create_store_geo_and_publish_nodes.cpp b/GeoModelExamples/HelloToy/step1_create_store_geo_and_publish_nodes.cpp
index b0ed32fe491c8971bbee2b677f038bfa3b5d64f4..87234079564b6367b7a0067f26ba56c9d6b975b3 100644
--- a/GeoModelExamples/HelloToy/step1_create_store_geo_and_publish_nodes.cpp
+++ b/GeoModelExamples/HelloToy/step1_create_store_geo_and_publish_nodes.cpp
@@ -54,7 +54,7 @@
 
 #include "GeoModelWrite/WriteGeoModel.h"
 
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 
 
 // Units
diff --git a/GeoModelIO/GeoModelDBManager/CMakeLists.txt b/GeoModelIO/GeoModelDBManager/CMakeLists.txt
index 52ee219c2473645e63519e74287980fabbcb084e..513943cf47bcc58dc6f8647fbe8b233c7244f0c6 100644
--- a/GeoModelIO/GeoModelDBManager/CMakeLists.txt
+++ b/GeoModelIO/GeoModelDBManager/CMakeLists.txt
@@ -14,7 +14,7 @@ file( GLOB HEADERS GeoModelDBManager/*.h )
 
 # Set up the library.
 add_library( GeoModelDBManager SHARED ${HEADERS} ${SOURCES} )
-target_link_libraries( GeoModelDBManager PRIVATE SQLite::SQLite3 GeoModelHelpers )
+target_link_libraries( GeoModelDBManager PRIVATE SQLite::SQLite3 GeoModelHelpers GeoModelKernel )
 target_include_directories( GeoModelDBManager PUBLIC
    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
    $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}> )
diff --git a/GeoModelIO/GeoModelDBManager/src/GMDBManager.cpp b/GeoModelIO/GeoModelDBManager/src/GMDBManager.cpp
index 70d3382bc4531c4f9e5be807a640a97044a5a4e6..742eb9f3a164e9d29d9db2b79d6972633d5a30f7 100644
--- a/GeoModelIO/GeoModelDBManager/src/GMDBManager.cpp
+++ b/GeoModelIO/GeoModelDBManager/src/GMDBManager.cpp
@@ -25,7 +25,7 @@
 
 #include <GeoModelDBManager/GMDBManager.h>
 
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 #include "GeoModelHelpers/StringUtils.h"
 
 
diff --git a/GeoModelIO/GeoModelIOHelpers/GeoModelIOHelpers/GMIO.h b/GeoModelIO/GeoModelIOHelpers/GeoModelIOHelpers/GMIO.h
index 3235063c0460b4ada5e90936880f21385e402a98..df56bc2bcb2bd775b030a4fc90c7a6118caf54ef 100644
--- a/GeoModelIO/GeoModelIOHelpers/GeoModelIOHelpers/GMIO.h
+++ b/GeoModelIO/GeoModelIOHelpers/GeoModelIOHelpers/GMIO.h
@@ -22,7 +22,7 @@
 #include "GeoModelRead/ReadGeoModel.h"
 #include "GeoModelWrite/WriteGeoModel.h"
 
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 
 namespace GeoModelIO {
 
diff --git a/GeoModelIO/GeoModelRead/GeoModelRead/ReadGeoModel.tpp b/GeoModelIO/GeoModelRead/GeoModelRead/ReadGeoModel.tpp
index 006813743e43fa7451d3134802f03c0c38264745..ad08d01cd330b0c2f67c4c2aa2d063a0eb4a9d51 100644
--- a/GeoModelIO/GeoModelRead/GeoModelRead/ReadGeoModel.tpp
+++ b/GeoModelIO/GeoModelRead/GeoModelRead/ReadGeoModel.tpp
@@ -15,7 +15,7 @@
 #include "GeoModelKernel/GeoFullPhysVol.h"
 
 #include "GeoModelHelpers/variantHelpers.h"
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 
 
 
diff --git a/GeoModelIO/GeoModelRead/src/BuildGeoShapes_GenericTrap.cpp b/GeoModelIO/GeoModelRead/src/BuildGeoShapes_GenericTrap.cpp
index dc265b92cecf9bb000e37b416afca2bfb910753b..8d2987dfedcfbe4b83dc2e4a1b4c19b4690e3707 100644
--- a/GeoModelIO/GeoModelRead/src/BuildGeoShapes_GenericTrap.cpp
+++ b/GeoModelIO/GeoModelRead/src/BuildGeoShapes_GenericTrap.cpp
@@ -11,7 +11,7 @@
 
 #include "GeoModelKernel/GeoGenericTrap.h"
 #include "GeoModelHelpers/variantHelpers.h"
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 
 #include <vector>
 #include <iostream>
diff --git a/GeoModelIO/GeoModelRead/src/BuildGeoShapes_Pcon.cpp b/GeoModelIO/GeoModelRead/src/BuildGeoShapes_Pcon.cpp
index 6a7a303be4a647e49ec64f8acaeea9694658c1fc..d1bd3ec5742efad79e478f44a7fee4623bdd0cf6 100644
--- a/GeoModelIO/GeoModelRead/src/BuildGeoShapes_Pcon.cpp
+++ b/GeoModelIO/GeoModelRead/src/BuildGeoShapes_Pcon.cpp
@@ -11,7 +11,7 @@
 
 #include "GeoModelKernel/GeoPcon.h"
 #include "GeoModelHelpers/variantHelpers.h"
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 
 #include <vector>
 #include <iostream>
diff --git a/GeoModelIO/GeoModelRead/src/BuildGeoShapes_Pgon.cpp b/GeoModelIO/GeoModelRead/src/BuildGeoShapes_Pgon.cpp
index 666ede875f0f314fdac0b0041c78dc85deee7caa..dcf90921b36bf9a77df7cfae246fed49a87a11e7 100644
--- a/GeoModelIO/GeoModelRead/src/BuildGeoShapes_Pgon.cpp
+++ b/GeoModelIO/GeoModelRead/src/BuildGeoShapes_Pgon.cpp
@@ -11,7 +11,7 @@
 
 #include "GeoModelKernel/GeoPgon.h"
 #include "GeoModelHelpers/variantHelpers.h"
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 
 #include <vector>
 #include <iostream>
diff --git a/GeoModelIO/GeoModelRead/src/BuildGeoShapes_SimplePolygonBrep.cpp b/GeoModelIO/GeoModelRead/src/BuildGeoShapes_SimplePolygonBrep.cpp
index 3a73172d1cd2555105c045caffb308f905cc26eb..9ba3f5b6d22fff3f65bd402c6e424159e42acbf4 100644
--- a/GeoModelIO/GeoModelRead/src/BuildGeoShapes_SimplePolygonBrep.cpp
+++ b/GeoModelIO/GeoModelRead/src/BuildGeoShapes_SimplePolygonBrep.cpp
@@ -11,7 +11,7 @@
 
 #include "GeoModelKernel/GeoSimplePolygonBrep.h"
 #include "GeoModelHelpers/variantHelpers.h"
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 
 #include <vector>
 #include <iostream>
diff --git a/GeoModelIO/GeoModelRead/src/ReadGeoModel.cpp b/GeoModelIO/GeoModelRead/src/ReadGeoModel.cpp
index 60044fa1de5814405bb5b26e447aa271991702e0..79461fb441313320ef29f5a2aa8a22f3034750d5 100644
--- a/GeoModelIO/GeoModelRead/src/ReadGeoModel.cpp
+++ b/GeoModelIO/GeoModelRead/src/ReadGeoModel.cpp
@@ -100,7 +100,7 @@
 #include "GeoModelKernel/GeoUnidentifiedShape.h"
 
 #include "GeoModelHelpers/variantHelpers.h"
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 #include "GeoModelHelpers/StringUtils.h"
 
 // Units
diff --git a/GeoModelIO/GeoModelWrite/src/WriteGeoModel.cpp b/GeoModelIO/GeoModelWrite/src/WriteGeoModel.cpp
index 4091dc8da51f07eb4ea5c30efe8d2a8efa61d557..b0c362b01968479b68de418862bc975414207784 100644
--- a/GeoModelIO/GeoModelWrite/src/WriteGeoModel.cpp
+++ b/GeoModelIO/GeoModelWrite/src/WriteGeoModel.cpp
@@ -65,7 +65,7 @@
 #include "GeoModelKernel/GeoAnnulusSurface.h"
 #include "GeoModelKernel/GeoDiamondSurface.h"
 
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 #include "GeoModelHelpers/StringUtils.h"
 
 // C++ includes
diff --git a/GeoModelTools/GeoModelXML/GMXPlugin/src/GMXPlugin.cxx b/GeoModelTools/GeoModelXML/GMXPlugin/src/GMXPlugin.cxx
index 2c4e93db39a8611dec8bb7dd3ffd8230e03b848b..df8b57edbcb11f8243f8527ac632406f0e0aaa1a 100644
--- a/GeoModelTools/GeoModelXML/GMXPlugin/src/GMXPlugin.cxx
+++ b/GeoModelTools/GeoModelXML/GMXPlugin/src/GMXPlugin.cxx
@@ -6,7 +6,7 @@
 
 #include "GeoModelHelpers/StringUtils.h"
 #include "GeoModelHelpers/FileUtils.h"
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 #include "GeoModelKernel/GeoPhysVol.h"
 
 #include "GeoModelXml/GmxInterface.h"
diff --git a/GeoModelTools/GeoModelXML/GeoModelXml/GeoModelXml/GmxInterface.h b/GeoModelTools/GeoModelXML/GeoModelXml/GeoModelXml/GmxInterface.h
index c14562e5a153ba24134759e110fad815e428a4f4..bcbb3f5d27ccd8560e32396350a76c0c748a6b3d 100644
--- a/GeoModelTools/GeoModelXML/GeoModelXml/GeoModelXml/GmxInterface.h
+++ b/GeoModelTools/GeoModelXML/GeoModelXml/GeoModelXml/GmxInterface.h
@@ -21,7 +21,7 @@
 #include <variant>
 #include "GeoModelKernel/GeoVFullPhysVol.h"
 #include "GeoModelKernel/GeoAlignableTransform.h"
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 
 class GeoPublisher;
 
diff --git a/GeoModelTools/GeoModelXML/GeoModelXml/src/AssemblyrefProcessor.cxx b/GeoModelTools/GeoModelXML/GeoModelXml/src/AssemblyrefProcessor.cxx
index 455526fcd4eca5a6730a7552016e6163c757adeb..399751f213a37147ee73343a3ed8acedc01dfe20 100644
--- a/GeoModelTools/GeoModelXML/GeoModelXml/src/AssemblyrefProcessor.cxx
+++ b/GeoModelTools/GeoModelXML/GeoModelXml/src/AssemblyrefProcessor.cxx
@@ -7,7 +7,7 @@
 //
 #include "OutputDirector.h"
 #include "GeoModelXml/AssemblyrefProcessor.h"
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 
 #include "xercesc/util/XercesDefs.hpp"
 #include <xercesc/dom/DOM.hpp>
diff --git a/GeoModelTools/GeoModelXML/GeoModelXml/src/Element2GeoItem.cxx b/GeoModelTools/GeoModelXML/GeoModelXml/src/Element2GeoItem.cxx
index 09c48a79f4c58ee1bd2b3c6fc25680311c4ac624..e780aac181bb9f70f5b98e1ef4bf1bbedf557d74 100644
--- a/GeoModelTools/GeoModelXML/GeoModelXml/src/Element2GeoItem.cxx
+++ b/GeoModelTools/GeoModelXML/GeoModelXml/src/Element2GeoItem.cxx
@@ -12,7 +12,7 @@
 
 #include "GeoModelXml/GmxUtil.h"
 #include "GeoModelKernel/RCBase.h"
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 
 using namespace std;
 using namespace xercesc;
diff --git a/GeoModelTools/GeoModelXML/GeoModelXml/src/Gmx2Geo.cxx b/GeoModelTools/GeoModelXML/GeoModelXml/src/Gmx2Geo.cxx
index faba526488e15cc10da6faf13f814a0f511d001b..875861a56b30f6290ec3cc7547eb247a8abb322c 100644
--- a/GeoModelTools/GeoModelXML/GeoModelXml/src/Gmx2Geo.cxx
+++ b/GeoModelTools/GeoModelXML/GeoModelXml/src/Gmx2Geo.cxx
@@ -29,7 +29,7 @@
 #include "GeoModelXml/GmxInterface.h"
 #include "GeoModelXml/createdomdocument.h"
 #include "GeoModelHelpers/MaterialManager.h"
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 
 using namespace std;
 using namespace xercesc;
diff --git a/GeoModelTools/GeoModelXML/GeoModelXml/src/GmxUtil.cxx b/GeoModelTools/GeoModelXML/GeoModelXml/src/GmxUtil.cxx
index 2445aae348daec2800166213c02b6f5b17aa8d5d..5e173dca07eb58df61934b03cefffdcad64eb149 100644
--- a/GeoModelTools/GeoModelXML/GeoModelXml/src/GmxUtil.cxx
+++ b/GeoModelTools/GeoModelXML/GeoModelXml/src/GmxUtil.cxx
@@ -11,7 +11,7 @@
 #include "GeoModelKernel/GeoBox.h"
 #include "GeoModelKernel/GeoLogVol.h"
 #include "GeoModelXml/GmxInterface.h"
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 
 #include <cstdlib>
 #include <sstream>
diff --git a/GeoModelTools/GeoModelXML/GeoModelXml/src/LogvolProcessor.cxx b/GeoModelTools/GeoModelXML/GeoModelXml/src/LogvolProcessor.cxx
index bd4850c4131f4f35eabb1ab4b2408b5ca7dc4f06..8638d8794b97c7fac71807f571d0f1882025c21e 100644
--- a/GeoModelTools/GeoModelXML/GeoModelXml/src/LogvolProcessor.cxx
+++ b/GeoModelTools/GeoModelXML/GeoModelXml/src/LogvolProcessor.cxx
@@ -35,7 +35,7 @@
 #include "GeoModelXml/GeoNodeList.h"
 #include "xercesc/util/XMLString.hpp"
 
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 // using namespace CLHEP;
 
 using namespace std;
diff --git a/GeoModelTools/GeoModelXML/GeoModelXml/src/MakeIntersection.cxx b/GeoModelTools/GeoModelXML/GeoModelXml/src/MakeIntersection.cxx
index d047d0ea30eb7b95ee2e6d0251ea87d8210b05f7..310772468b5f6a0822ea4bad313ebab585a0ea3d 100644
--- a/GeoModelTools/GeoModelXML/GeoModelXml/src/MakeIntersection.cxx
+++ b/GeoModelTools/GeoModelXML/GeoModelXml/src/MakeIntersection.cxx
@@ -14,7 +14,7 @@
 
 #include "GeoModelHelpers/TransformSorter.h"
 #include "GeoModelHelpers/GeoShapeUtils.h"
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 #include "xercesc/util/XMLString.hpp"
 #include "GeoModelXml/GmxUtil.h"
 
diff --git a/GeoModelTools/GeoModelXML/GeoModelXml/src/MakeMaterial.cxx b/GeoModelTools/GeoModelXML/GeoModelXml/src/MakeMaterial.cxx
index 32fb289568d8b38ea26eb92ce1375ec392d414e9..1ae9b3f6d5574122dc5689f614946ffac8f90558 100644
--- a/GeoModelTools/GeoModelXML/GeoModelXml/src/MakeMaterial.cxx
+++ b/GeoModelTools/GeoModelXML/GeoModelXml/src/MakeMaterial.cxx
@@ -11,7 +11,7 @@
 #include "xercesc/util/XMLString.hpp"
 #include "GeoModelXml/GmxUtil.h"
 #include "GeoModelKernel/Units.h"
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 
 using namespace xercesc;
 using namespace std;
diff --git a/GeoModelTools/GeoModelXML/GeoModelXml/src/MakePcon.cxx b/GeoModelTools/GeoModelXML/GeoModelXml/src/MakePcon.cxx
index e1129d4c948fbed34d46626e9e056928fbbe982d..c23c58dba85d255e9dd746e93525753a0a0d5ffa 100644
--- a/GeoModelTools/GeoModelXML/GeoModelXml/src/MakePcon.cxx
+++ b/GeoModelTools/GeoModelXML/GeoModelXml/src/MakePcon.cxx
@@ -8,7 +8,7 @@
 #include <xercesc/dom/DOM.hpp>
 #include "GeoModelKernel/GeoPcon.h"
 #include "GeoModelHelpers/GeoShapeUtils.h"
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 #include "xercesc/util/XMLString.hpp"
 #include "GeoModelXml/GmxUtil.h"
 
diff --git a/GeoModelTools/GeoModelXML/GeoModelXml/src/MakeShapeShift.cxx b/GeoModelTools/GeoModelXML/GeoModelXml/src/MakeShapeShift.cxx
index 2e6b9fae5a58266b31131104d74a43b4c001d2a2..973c274616e2841666f90085cc4e6a37344fd05e 100644
--- a/GeoModelTools/GeoModelXML/GeoModelXml/src/MakeShapeShift.cxx
+++ b/GeoModelTools/GeoModelXML/GeoModelXml/src/MakeShapeShift.cxx
@@ -14,7 +14,7 @@
 #include "GeoModelXml/GmxUtil.h"
 
 #include "GeoModelHelpers/TransformSorter.h"
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 #include "GeoModelHelpers/GeoShapeUtils.h"
 
 #include "xercesc/util/XMLString.hpp"
diff --git a/GeoModelTools/GeoModelXML/GeoModelXml/src/MakeSimplePolygonBrep.cxx b/GeoModelTools/GeoModelXML/GeoModelXml/src/MakeSimplePolygonBrep.cxx
index 7f0411cfff83a036241e1463cdc146888e689662..c2a8bc71367757f958ed11bc18267152af1dafe4 100644
--- a/GeoModelTools/GeoModelXML/GeoModelXml/src/MakeSimplePolygonBrep.cxx
+++ b/GeoModelTools/GeoModelXML/GeoModelXml/src/MakeSimplePolygonBrep.cxx
@@ -10,7 +10,7 @@
 #include "GeoModelXml/shape/MakeSimplePolygonBrep.h"
 #include "GeoModelKernel/GeoSimplePolygonBrep.h"
 #include <xercesc/dom/DOM.hpp>
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 #include "xercesc/util/XMLString.hpp"
 #include "GeoModelXml/GmxUtil.h"
 
diff --git a/GeoModelTools/GeoModelXML/GeoModelXml/src/MakeSubtraction.cxx b/GeoModelTools/GeoModelXML/GeoModelXml/src/MakeSubtraction.cxx
index 9fa649711cab302fb014c05c60676583fcabd92e..144378430f23c7344118b29c59fed9c5973499dc 100644
--- a/GeoModelTools/GeoModelXML/GeoModelXml/src/MakeSubtraction.cxx
+++ b/GeoModelTools/GeoModelXML/GeoModelXml/src/MakeSubtraction.cxx
@@ -11,7 +11,7 @@
 #include "GeoModelKernel/GeoShapeSubtraction.h"
 #include "GeoModelKernel/GeoShapeShift.h"
 #include "GeoModelKernel/GeoTransform.h"
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 
 #include "xercesc/util/XMLString.hpp"
 #include "GeoModelXml/GmxUtil.h"
diff --git a/GeoModelTools/GeoModelXML/GeoModelXml/src/MakeUnion.cxx b/GeoModelTools/GeoModelXML/GeoModelXml/src/MakeUnion.cxx
index 6ad32a0c25185a39557c43dec4aa65d147cebf61..459fb00983ed9087271118ba6a0a0f73569c0b2e 100644
--- a/GeoModelTools/GeoModelXML/GeoModelXml/src/MakeUnion.cxx
+++ b/GeoModelTools/GeoModelXML/GeoModelXml/src/MakeUnion.cxx
@@ -8,7 +8,7 @@
 #include <xercesc/dom/DOM.hpp>
 #include "GeoModelKernel/GeoShapeUnion.h"
 #include "GeoModelKernel/GeoShapeShift.h"
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 #include "xercesc/util/XMLString.hpp"
 #include "GeoModelXml/GmxUtil.h"
 
diff --git a/GeoModelTools/GeoModelXML/GeoModelXml/src/MulticopyProcessor.cxx b/GeoModelTools/GeoModelXML/GeoModelXml/src/MulticopyProcessor.cxx
index 4401360d1741b32446c385779983cafa2ace29e5..127732a4f64d1c34ac3c8746136696b3a0a70310 100644
--- a/GeoModelTools/GeoModelXML/GeoModelXml/src/MulticopyProcessor.cxx
+++ b/GeoModelTools/GeoModelXML/GeoModelXml/src/MulticopyProcessor.cxx
@@ -37,7 +37,7 @@
 #include "GeoModelXml/ProcessorRegistry.h"
 #include "GeoModelXml/GmxUtil.h"
 
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 
 using namespace xercesc;
 using namespace std;
diff --git a/GeoModelTools/GeoModelXML/GeoModelXml/src/ReplicaZProcessor.cxx b/GeoModelTools/GeoModelXML/GeoModelXml/src/ReplicaZProcessor.cxx
index 5c493bbbd06e369e14dc5ac35588f6cac413575e..840fb2f46162cf5e3f968012e5e17b1fc8c74699 100644
--- a/GeoModelTools/GeoModelXML/GeoModelXml/src/ReplicaZProcessor.cxx
+++ b/GeoModelTools/GeoModelXML/GeoModelXml/src/ReplicaZProcessor.cxx
@@ -19,7 +19,7 @@
 #include "GeoModelKernel/GeoNameTag.h"
 #include "GeoModelKernel/GeoDefinitions.h"
 #include "GeoModelHelpers/StringUtils.h"
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 
 
 #include "xercesc/util/XMLString.hpp"
diff --git a/GeoModelTools/GeoModelXML/GeoModelXml/src/TransformrefProcessor.cxx b/GeoModelTools/GeoModelXML/GeoModelXml/src/TransformrefProcessor.cxx
index a0e57980f2748fee4b76cb12398f5d5a41b55b39..38705480130fc4a09fb3d51c1f3c05857dec2ac2 100644
--- a/GeoModelTools/GeoModelXML/GeoModelXml/src/TransformrefProcessor.cxx
+++ b/GeoModelTools/GeoModelXML/GeoModelXml/src/TransformrefProcessor.cxx
@@ -12,7 +12,7 @@
 #include "GeoModelXml/GmxUtil.h"
 #include "GeoModelXml/GeoNodeList.h"
 #include "xercesc/util/XMLString.hpp"
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 
 using namespace std;
 using namespace xercesc;
diff --git a/GeoModelTools/GeoModelXMLDumper/src/GeoXMLDumper.cxx b/GeoModelTools/GeoModelXMLDumper/src/GeoXMLDumper.cxx
index f78ca6c1fbf78eeb88a74d19c43fb5dbcc867eda..6d220d674ac43c8425f3bab96c6d9db366e33978 100644
--- a/GeoModelTools/GeoModelXMLDumper/src/GeoXMLDumper.cxx
+++ b/GeoModelTools/GeoModelXMLDumper/src/GeoXMLDumper.cxx
@@ -27,7 +27,7 @@
 
 #include "GeoModelHelpers/GeoShapeUtils.h"
 #include "GeoModelHelpers/getChildNodesWithTrf.h"
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 #include "GeoModelHelpers/TransformToStringConverter.h"
 #include "GeoModelHelpers/StringUtils.h"
 #include "GeoModelHelpers/FileUtils.h"
diff --git a/GeoModelTools/GeoModelXMLParser/CMakeLists.txt b/GeoModelTools/GeoModelXMLParser/CMakeLists.txt
index 1b98523de4ef4b6c374e7b8e299170a49848ab33..6f68ec6a81a568b0d10234cbc6f6e2af7f247968 100644
--- a/GeoModelTools/GeoModelXMLParser/CMakeLists.txt
+++ b/GeoModelTools/GeoModelXMLParser/CMakeLists.txt
@@ -21,7 +21,7 @@ set_target_properties( GeoModelXMLParser PROPERTIES
 # version of the library.
 add_library( GeoModelTools::GeoModelXMLParser ALIAS GeoModelXMLParser )
 
-target_link_libraries( GeoModelXMLParser PRIVATE GeoModelCore::GeoModelHelpers  )
+target_link_libraries( GeoModelXMLParser PRIVATE GeoModelCore::GeoModelKernel GeoModelCore::GeoModelHelpers  )
 
 # Install the library.
 install(TARGETS GeoModelXMLParser
diff --git a/GeoModelTools/GeoModelXMLParser/src/XMLHandler.cxx b/GeoModelTools/GeoModelXMLParser/src/XMLHandler.cxx
index 9351563030386ef4e22171d8e0ce83d83339fa0b..c82f54be192304b757fc7cfa80204d91d6bc3b16 100644
--- a/GeoModelTools/GeoModelXMLParser/src/XMLHandler.cxx
+++ b/GeoModelTools/GeoModelXMLParser/src/XMLHandler.cxx
@@ -5,7 +5,7 @@
 #include "GeoModelXMLParser/XMLHandler.h"
 #include "GeoModelXMLParser/XMLHandlerStore.h"
 #include "GeoModelHelpers/StringUtils.h"
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 #include "ExpressionEvaluator/ExpressionEvaluator.h"
 
 #include <vector>
diff --git a/GeoModelVisualization/VP1GeometrySystems/src/DumpShape.cxx b/GeoModelVisualization/VP1GeometrySystems/src/DumpShape.cxx
index ffbbf43e92b756b0394ec666825e50883e2a7b93..18b48ee43e49f82eaa939783d46149e0f324ae13 100644
--- a/GeoModelVisualization/VP1GeometrySystems/src/DumpShape.cxx
+++ b/GeoModelVisualization/VP1GeometrySystems/src/DumpShape.cxx
@@ -26,7 +26,7 @@
 #include "GeoModelKernel/GeoAnnulusSurface.h"
 #include "GeoModelKernel/GeoDiamondSurface.h"
 
-#include "GeoModelHelpers/throwExcept.h"
+#include "GeoModelKernel/throwExcept.h"
 #include "Inventor/SbMatrix.h"
 #include <cassert>
 
diff --git a/athena_ci/patches/0001-Move-throw-except.patch b/athena_ci/patches/0001-Move-throw-except.patch
new file mode 100644
index 0000000000000000000000000000000000000000..36cec4b22e9602972f11d0befd4da29ae73def80
--- /dev/null
+++ b/athena_ci/patches/0001-Move-throw-except.patch
@@ -0,0 +1,584 @@
+From eca80303324ee9b19f75dd507a7d13da0fbe6b2c Mon Sep 17 00:00:00 2001
+From: Johannes Josef Junggeburth <johannes.josef.junggeburth@cern.ch>
+Date: Thu, 24 Oct 2024 10:06:45 +0200
+Subject: [PATCH] Move throw except
+
+---
+ .../GeoModelUtilities/GeoModelUtilities/TransformMap.icc        | 2 +-
+ .../MuonCablings/MuonCablingData/src/MuonMDT_CablingMap.cxx     | 2 +-
+ .../MuonCalib/MdtCalib/MdtCalibData/src/BFieldCorFunc.cxx       | 2 +-
+ .../MuonCalib/MdtCalib/MdtCalibData/src/RtChebyshev.cxx         | 2 +-
+ .../MdtCalib/MdtCalibData/src/RtResolutionChebyshev.cxx         | 2 +-
+ .../MuonCalib/MdtCalib/MdtCalibInterfaces/src/MdtCalibInput.cxx | 2 +-
+ .../MuonCalib/MdtCalib/MdtCalibSvc/src/MdtCalibrationTool.cxx   | 2 +-
+ .../MuonCalibUtils/MuonCalibMath/src/BaseFunctionFitter.cxx     | 2 +-
+ .../MuonCalib/MuonCalibUtils/MuonCalibMath/src/PolygonBase.cxx  | 2 +-
+ .../MuonCnv/MuonRPC_CnvTools/src/RpcRdoToPrepDataToolMT.cxx     | 2 +-
+ .../MuonCondGeneral/MuonCondAlg/src/MdtAsBuiltCondAlg.cxx       | 2 +-
+ .../MuonCondGeneral/MuonCondAlg/src/MdtCalibDbAlg.cxx           | 2 +-
+ .../MuonCondGeneral/MuonCondAlg/src/NswCalibDbAlg.cxx           | 2 +-
+ .../MuonCondGeneral/MuonCondAlg/src/NswDcsDbAlg.cxx             | 2 +-
+ .../MuonCondGeneral/MuonCondData/src/DigitEffiData.cxx          | 2 +-
+ .../MuonCondGeneral/MuonCondData/src/MdtCondDbData.cxx          | 2 +-
+ .../MuonCondData/src/NswCalibDbTimeChargeData.cxx               | 2 +-
+ .../MuonCondGeneral/MuonCondData/src/NswDcsDbData.cxx           | 2 +-
+ .../MuonCondGeneral/MuonCondData/src/NswErrorCalibData.cxx      | 2 +-
+ .../MuonCondGeneral/MuonCondData/src/NswT0Data.cxx              | 2 +-
+ .../MuonDetDescr/MuonReadoutGeometry/src/MdtReadoutElement.cxx  | 2 +-
+ .../MuonReadoutGeometry/src/MuonDetectorManager.cxx             | 2 +-
+ .../RPC_Digitization/src/RpcDigitizationTool.cxx                | 2 +-
+ .../MuonPhaseII/Event/MuonSpacePoint/src/UtilFunctions.cxx      | 2 +-
+ .../Event/xAOD/xAODMuonPrepData/Root/UtilFunctions.cxx          | 2 +-
+ .../xAODMuonPrepData/xAODMuonPrepData/versions/AccessorMacros.h | 2 +-
+ .../Event/xAOD/xAODMuonViews/xAODMuonViews/ChamberViewer.h      | 2 +-
+ .../MuonAlignmentDataR4/src/MdtAlignmentStore.cxx               | 2 +-
+ .../MuonDigitizationR4/src/MuonDigitizationTool.cxx             | 2 +-
+ .../MuonSensitiveDetectorsR4/src/MdtSensitiveDetector.cxx       | 2 +-
+ .../MuonG4/MuonSensitiveDetectorsR4/src/MmSensitiveDetector.cxx | 2 +-
+ .../MuonSensitiveDetectorsR4/src/RpcSensitiveDetector.cxx       | 2 +-
+ .../MuonSensitiveDetectorsR4/src/TgcSensitiveDetector.cxx       | 2 +-
+ .../MuonSensitiveDetectorsR4/src/sTgcSensitiveDetector.cxx      | 2 +-
+ .../MuonPatternHelpers/Root/SegmentFitHelperFunctions.cxx       | 2 +-
+ .../MuonValidation/MuonPRDTestR4/Root/TesterModuleBase.cxx      | 2 +-
+ .../MuonStationIntersectCond/src/MdtIntersectGeometry.cxx       | 2 +-
+ Simulation/G4Utilities/Geo2G4/src/Geo2G4Builder.cxx             | 2 +-
+ Tracking/Acts/ActsGeoUtils/src/SurfaceCache.cxx                 | 2 +-
+ Tracking/Acts/ActsGeometry/src/ActsDetectorElement.cxx          | 2 +-
+ .../TrkDriftCircleMath/src/MdtChamberGeometry.cxx               | 2 +-
+ 41 files changed, 41 insertions(+), 41 deletions(-)
+
+diff --git a/DetectorDescription/GeoModel/GeoModelUtilities/GeoModelUtilities/TransformMap.icc b/DetectorDescription/GeoModel/GeoModelUtilities/GeoModelUtilities/TransformMap.icc
+index 9d71a8653a2..45134100c37 100755
+--- a/DetectorDescription/GeoModel/GeoModelUtilities/GeoModelUtilities/TransformMap.icc
++++ b/DetectorDescription/GeoModel/GeoModelUtilities/GeoModelUtilities/TransformMap.icc
+@@ -5,7 +5,7 @@
+ #ifndef GEOMODELUTILITIES_TRANSFORMMAP_ICC
+ #define GEOMODELUTILITIES_TRANSFORMMAP_ICC
+ 
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ #include "CxxUtils/inline_hints.h"
+ 
+ 
+diff --git a/MuonSpectrometer/MuonCablings/MuonCablingData/src/MuonMDT_CablingMap.cxx b/MuonSpectrometer/MuonCablings/MuonCablingData/src/MuonMDT_CablingMap.cxx
+index 6796d45aa05..5d83f76571a 100644
+--- a/MuonSpectrometer/MuonCablings/MuonCablingData/src/MuonMDT_CablingMap.cxx
++++ b/MuonSpectrometer/MuonCablings/MuonCablingData/src/MuonMDT_CablingMap.cxx
+@@ -11,7 +11,7 @@
+ #include "CxxUtils/ArrayHelper.h"
+ #include "StoreGate/StoreGateSvc.h"
+ #include "Identifier/Identifier.h"
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ 
+ namespace {
+ /// Four mezzanine channels explicitly break the cabling schema in the legacy
+diff --git a/MuonSpectrometer/MuonCalib/MdtCalib/MdtCalibData/src/BFieldCorFunc.cxx b/MuonSpectrometer/MuonCalib/MdtCalib/MdtCalibData/src/BFieldCorFunc.cxx
+index c991661e9c3..c481008c31e 100644
+--- a/MuonSpectrometer/MuonCalib/MdtCalib/MdtCalibData/src/BFieldCorFunc.cxx
++++ b/MuonSpectrometer/MuonCalib/MdtCalib/MdtCalibData/src/BFieldCorFunc.cxx
+@@ -9,7 +9,7 @@
+ #include "MdtCalibData/IRtRelation.h"
+ #include "MuonCalibMath/BaseFunctionFitter.h"
+ #include "MuonCalibMath/LegendrePolynomial.h"
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ #include "cmath"
+ 
+ using namespace MuonCalib;
+diff --git a/MuonSpectrometer/MuonCalib/MdtCalib/MdtCalibData/src/RtChebyshev.cxx b/MuonSpectrometer/MuonCalib/MdtCalib/MdtCalibData/src/RtChebyshev.cxx
+index 6a75398569e..813dc50bfd5 100644
+--- a/MuonSpectrometer/MuonCalib/MdtCalib/MdtCalibData/src/RtChebyshev.cxx
++++ b/MuonSpectrometer/MuonCalib/MdtCalib/MdtCalibData/src/RtChebyshev.cxx
+@@ -3,7 +3,7 @@
+ */
+ #include "MdtCalibData/RtChebyshev.h"
+ #include "MuonCalibMath/ChebychevPoly.h"
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ using namespace MuonCalib;
+ 
+ RtChebyshev::RtChebyshev(const ParVec& vec) : 
+diff --git a/MuonSpectrometer/MuonCalib/MdtCalib/MdtCalibData/src/RtResolutionChebyshev.cxx b/MuonSpectrometer/MuonCalib/MdtCalib/MdtCalibData/src/RtResolutionChebyshev.cxx
+index 111b63529c1..24e70884ff4 100644
+--- a/MuonSpectrometer/MuonCalib/MdtCalib/MdtCalibData/src/RtResolutionChebyshev.cxx
++++ b/MuonSpectrometer/MuonCalib/MdtCalib/MdtCalibData/src/RtResolutionChebyshev.cxx
+@@ -3,7 +3,7 @@
+ */
+ #include "MdtCalibData/RtResolutionChebyshev.h"
+ #include "MuonCalibMath/ChebychevPoly.h"
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ 
+ using namespace MuonCalib;
+ 
+diff --git a/MuonSpectrometer/MuonCalib/MdtCalib/MdtCalibInterfaces/src/MdtCalibInput.cxx b/MuonSpectrometer/MuonCalib/MdtCalib/MdtCalibInterfaces/src/MdtCalibInput.cxx
+index a1862fa9c16..e9643299143 100644
+--- a/MuonSpectrometer/MuonCalib/MdtCalib/MdtCalibInterfaces/src/MdtCalibInput.cxx
++++ b/MuonSpectrometer/MuonCalib/MdtCalib/MdtCalibInterfaces/src/MdtCalibInput.cxx
+@@ -16,7 +16,7 @@
+ #include <MuonDigitContainer/MdtDigit.h>
+ #include <MuonPrepRawData/MdtPrepData.h>
+ #include <TrkSurfaces/StraightLineSurface.h>
+-#include <GeoModelHelpers/throwExcept.h>
++#include <GeoModelKernel/throwExcept.h>
+ 
+ std::ostream& operator<<(std::ostream& ostr, const MdtCalibInput& input){
+    ostr<<"adc: "<<input.adc()<<", ";
+diff --git a/MuonSpectrometer/MuonCalib/MdtCalib/MdtCalibSvc/src/MdtCalibrationTool.cxx b/MuonSpectrometer/MuonCalib/MdtCalib/MdtCalibSvc/src/MdtCalibrationTool.cxx
+index e556c062c44..88903fcbf18 100644
+--- a/MuonSpectrometer/MuonCalib/MdtCalib/MdtCalibSvc/src/MdtCalibrationTool.cxx
++++ b/MuonSpectrometer/MuonCalib/MdtCalib/MdtCalibSvc/src/MdtCalibrationTool.cxx
+@@ -23,7 +23,7 @@
+ #include "MagFieldElements/AtlasFieldCache.h"
+ #include "MuonCalibEvent/MdtCalibHit.h"
+ 
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ namespace {
+   static double const twoBySqrt12 = 2/std::sqrt(12);
+ }
+diff --git a/MuonSpectrometer/MuonCalib/MuonCalibUtils/MuonCalibMath/src/BaseFunctionFitter.cxx b/MuonSpectrometer/MuonCalib/MuonCalibUtils/MuonCalibMath/src/BaseFunctionFitter.cxx
+index 641e9aca192..1a52a629edb 100644
+--- a/MuonSpectrometer/MuonCalib/MuonCalibUtils/MuonCalibMath/src/BaseFunctionFitter.cxx
++++ b/MuonSpectrometer/MuonCalib/MuonCalibUtils/MuonCalibMath/src/BaseFunctionFitter.cxx
+@@ -3,7 +3,7 @@
+ */
+ 
+ #include "MuonCalibMath/BaseFunctionFitter.h"
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ #include <cmath>
+ 
+ namespace MuonCalib {
+diff --git a/MuonSpectrometer/MuonCalib/MuonCalibUtils/MuonCalibMath/src/PolygonBase.cxx b/MuonSpectrometer/MuonCalib/MuonCalibUtils/MuonCalibMath/src/PolygonBase.cxx
+index 14143d0b8c3..876165a4aa0 100644
+--- a/MuonSpectrometer/MuonCalib/MuonCalibUtils/MuonCalibMath/src/PolygonBase.cxx
++++ b/MuonSpectrometer/MuonCalib/MuonCalibUtils/MuonCalibMath/src/PolygonBase.cxx
+@@ -5,7 +5,7 @@
+ #include <iostream>
+ #include <cstdlib>
+ #include "MuonCalibMath/PolygonBase.h"
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ using namespace MuonCalib;
+ 
+ PolygonBase::PolygonBase(const std::vector<double> & x) {
+diff --git a/MuonSpectrometer/MuonCnv/MuonRPC_CnvTools/src/RpcRdoToPrepDataToolMT.cxx b/MuonSpectrometer/MuonCnv/MuonRPC_CnvTools/src/RpcRdoToPrepDataToolMT.cxx
+index 3c3b0aadfef..714c9adc230 100755
+--- a/MuonSpectrometer/MuonCnv/MuonRPC_CnvTools/src/RpcRdoToPrepDataToolMT.cxx
++++ b/MuonSpectrometer/MuonCnv/MuonRPC_CnvTools/src/RpcRdoToPrepDataToolMT.cxx
+@@ -13,7 +13,7 @@
+ #include "TrkSurfaces/Surface.h"
+ #include "xAODMuonPrepData/RpcStripAuxContainer.h"
+ #include "MuonIdHelpers/IdentifierByDetElSorter.h"
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ using namespace MuonGM;
+ using namespace Trk;
+ namespace Muon{
+diff --git a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/MdtAsBuiltCondAlg.cxx b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/MdtAsBuiltCondAlg.cxx
+index 4c64dca466f..0f2b2e2486d 100644
+--- a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/MdtAsBuiltCondAlg.cxx
++++ b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/MdtAsBuiltCondAlg.cxx
+@@ -8,7 +8,7 @@
+ #include <AthenaKernel/IOVInfiniteRange.h>
+ #include <PathResolver/PathResolver.h>
+ #include <CxxUtils/StringUtils.h>
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ 
+ MdtAsBuiltCondAlg::MdtAsBuiltCondAlg(const std::string& name, ISvcLocator* pSvcLocator):
+         AthReentrantAlgorithm{name, pSvcLocator} {}
+diff --git a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/MdtCalibDbAlg.cxx b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/MdtCalibDbAlg.cxx
+index c55a2f88544..01816d4ced2 100644
+--- a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/MdtCalibDbAlg.cxx
++++ b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/MdtCalibDbAlg.cxx
+@@ -41,7 +41,7 @@
+ 
+ #include "TFile.h"
+ #include "TSpline.h"
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ 
+ using namespace MuonCalib;
+ using namespace CxxUtils;
+diff --git a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/NswCalibDbAlg.cxx b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/NswCalibDbAlg.cxx
+index 9511c7aee35..50dbfd82214 100644
+--- a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/NswCalibDbAlg.cxx
++++ b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/NswCalibDbAlg.cxx
+@@ -15,7 +15,7 @@
+ #include "MuonNSWCommonDecode/NSWResourceId.h"
+ #include "MuonNSWCommonDecode/NSWOfflineHelper.h"
+ #include "AthenaKernel/IOVInfiniteRange.h"
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ 
+ #include<ctime>
+ 
+diff --git a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/NswDcsDbAlg.cxx b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/NswDcsDbAlg.cxx
+index 1e678614884..4178c37054a 100644
+--- a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/NswDcsDbAlg.cxx
++++ b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/NswDcsDbAlg.cxx
+@@ -10,7 +10,7 @@
+ #include <regex>
+ #include "nlohmann/json.hpp"
+ #include "MuonIdHelpers/IMuonIdHelperSvc.h"
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ 
+ // Initialize
+ StatusCode
+diff --git a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondData/src/DigitEffiData.cxx b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondData/src/DigitEffiData.cxx
+index 762b59cb827..b5b5eeadd53 100644
+--- a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondData/src/DigitEffiData.cxx
++++ b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondData/src/DigitEffiData.cxx
+@@ -2,7 +2,7 @@
+   Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
+ */
+ #include "MuonCondData/DigitEffiData.h"
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ 
+ namespace Muon{
+     DigitEffiData::DigitEffiData(const Muon::IMuonIdHelperSvc* idHelperSvc, double defaultEffi):
+diff --git a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondData/src/MdtCondDbData.cxx b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondData/src/MdtCondDbData.cxx
+index 7749ba87665..10629c98e83 100644
+--- a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondData/src/MdtCondDbData.cxx
++++ b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondData/src/MdtCondDbData.cxx
+@@ -4,7 +4,7 @@
+ 
+ #include "MuonCondData/MdtCondDbData.h"
+ #include "MuonIdHelpers/MdtIdHelper.h"
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ 
+ using DcsConstants = MdtCondDbData::DcsConstants;
+ // --- writing identifiers -------
+diff --git a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondData/src/NswCalibDbTimeChargeData.cxx b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondData/src/NswCalibDbTimeChargeData.cxx
+index ca2082f1832..97d5dd92a42 100644
+--- a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondData/src/NswCalibDbTimeChargeData.cxx
++++ b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondData/src/NswCalibDbTimeChargeData.cxx
+@@ -5,7 +5,7 @@
+ #include "MuonCondData/NswCalibDbTimeChargeData.h"
+ #include "MuonIdHelpers/IMuonIdHelperSvc.h"
+ #include "Identifier/Identifier.h"
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ 
+ std::ostream& operator<<(std::ostream& ostr, const NswCalibDbTimeChargeData::CalibConstants& obj) {
+     ostr<<"slope: "<<std::setprecision(15)<<obj.slope;//<<" pm "<<std::setprecision(15)<<obj.slopeError;
+diff --git a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondData/src/NswDcsDbData.cxx b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondData/src/NswDcsDbData.cxx
+index ed816396bcb..17fcf8345e6 100644
+--- a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondData/src/NswDcsDbData.cxx
++++ b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondData/src/NswDcsDbData.cxx
+@@ -14,7 +14,7 @@
+ #include "MuonNSWCommonDecode/MapperSTG.h"
+ #include "MuonNSWCommonDecode/MapperMMG.h"
+ 
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ 
+ 
+ 
+diff --git a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondData/src/NswErrorCalibData.cxx b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondData/src/NswErrorCalibData.cxx
+index e56a569c825..b9c76271b03 100644
+--- a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondData/src/NswErrorCalibData.cxx
++++ b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondData/src/NswErrorCalibData.cxx
+@@ -1,6 +1,6 @@
+ #include "MuonCondData/NswErrorCalibData.h"
+ #include <sstream>
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ 
+ using errorParametrizer = NswErrorCalibData::errorParametrizer;
+ using Input = NswErrorCalibData::Input;
+diff --git a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondData/src/NswT0Data.cxx b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondData/src/NswT0Data.cxx
+index cd09fe770c1..54b03336b10 100644
+--- a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondData/src/NswT0Data.cxx
++++ b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondData/src/NswT0Data.cxx
+@@ -6,7 +6,7 @@
+ #include "MuonIdHelpers/sTgcIdHelper.h"
+ #include "Identifier/Identifier.h"
+ #include "AthenaKernel/IOVInfiniteRange.h"
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ 
+ 
+ NswT0Data::NswT0Data(const Muon::IMuonIdHelperSvc* idHelperSvc): 
+diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MdtReadoutElement.cxx b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MdtReadoutElement.cxx
+index 77af374334f..ac8a3342658 100644
+--- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MdtReadoutElement.cxx
++++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MdtReadoutElement.cxx
+@@ -17,7 +17,7 @@
+ #include "GeoModelUtilities/GeoGetIds.h"
+ #include "GeoPrimitives/GeoPrimitivesHelpers.h"
+ #include "GeoPrimitives/GeoPrimitivesToStringConverter.h"
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ #include "GeoModelHelpers/TransformToStringConverter.h"
+ #include "GeoModelHelpers/GeoShapeUtils.h"
+ 
+diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx
+index 2e1ba678861..2db3e773178 100644
+--- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx
++++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx
+@@ -8,7 +8,7 @@
+ #include <utility>
+ 
+ #include "GeoPrimitives/GeoPrimitivesHelpers.h"
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ #include "MuonAlignmentData/ALinePar.h"
+ #include "MuonAlignmentData/BLinePar.h"
+ #include "MuonReadoutGeometry/CscReadoutElement.h"
+diff --git a/MuonSpectrometer/MuonDigitization/RPC_Digitization/src/RpcDigitizationTool.cxx b/MuonSpectrometer/MuonDigitization/RPC_Digitization/src/RpcDigitizationTool.cxx
+index b1628ab290f..a9b640dbdf8 100644
+--- a/MuonSpectrometer/MuonDigitization/RPC_Digitization/src/RpcDigitizationTool.cxx
++++ b/MuonSpectrometer/MuonDigitization/RPC_Digitization/src/RpcDigitizationTool.cxx
+@@ -39,7 +39,7 @@
+ #include "AtlasHepMC/GenParticle.h"
+ #include "TruthUtils/HepMCHelpers.h"
+ #include "GeneratorObjects/HepMcParticleLink.h"
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ // Random Numbers
+ #include "AthenaKernel/RNGWrapper.h"
+ #include "CLHEP/Random/RandExponential.h"
+diff --git a/MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/src/UtilFunctions.cxx b/MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/src/UtilFunctions.cxx
+index 95f2a7f5780..e8e72592e8c 100644
+--- a/MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/src/UtilFunctions.cxx
++++ b/MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/src/UtilFunctions.cxx
+@@ -2,7 +2,7 @@
+    Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
+ */
+ #include <MuonSpacePoint/UtilFunctions.h>
+-#include <GeoModelHelpers/throwExcept.h>
++#include <GeoModelKernel/throwExcept.h>
+ #include <GeoPrimitives/GeoPrimitivesToStringConverter.h>
+ #include <GaudiKernel/SystemOfUnits.h>
+ namespace MuonR4{
+diff --git a/MuonSpectrometer/MuonPhaseII/Event/xAOD/xAODMuonPrepData/Root/UtilFunctions.cxx b/MuonSpectrometer/MuonPhaseII/Event/xAOD/xAODMuonPrepData/Root/UtilFunctions.cxx
+index cefb331b5ad..77bdddfb10f 100644
+--- a/MuonSpectrometer/MuonPhaseII/Event/xAOD/xAODMuonPrepData/Root/UtilFunctions.cxx
++++ b/MuonSpectrometer/MuonPhaseII/Event/xAOD/xAODMuonPrepData/Root/UtilFunctions.cxx
+@@ -2,7 +2,7 @@
+    Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
+ */
+ #include "xAODMuonPrepData/UtilFunctions.h"
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ 
+ #include "MuonReadoutGeometryR4/MdtReadoutElement.h"
+ #include "MuonReadoutGeometryR4/RpcReadoutElement.h"
+diff --git a/MuonSpectrometer/MuonPhaseII/Event/xAOD/xAODMuonPrepData/xAODMuonPrepData/versions/AccessorMacros.h b/MuonSpectrometer/MuonPhaseII/Event/xAOD/xAODMuonPrepData/xAODMuonPrepData/versions/AccessorMacros.h
+index 275e9350f11..9756d6fd564 100644
+--- a/MuonSpectrometer/MuonPhaseII/Event/xAOD/xAODMuonPrepData/xAODMuonPrepData/versions/AccessorMacros.h
++++ b/MuonSpectrometer/MuonPhaseII/Event/xAOD/xAODMuonPrepData/xAODMuonPrepData/versions/AccessorMacros.h
+@@ -3,7 +3,7 @@
+ */
+ #ifndef XAODMUONPREPDATA_ACCESSOR_MACROS_H
+ #define XAODMUONPREPDATA_ACCESSOR_MACROS_H
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ /**
+  *  Macros to implement the scalar variables of the xAOD::MuonPrepData objects
+ */
+diff --git a/MuonSpectrometer/MuonPhaseII/Event/xAOD/xAODMuonViews/xAODMuonViews/ChamberViewer.h b/MuonSpectrometer/MuonPhaseII/Event/xAOD/xAODMuonViews/xAODMuonViews/ChamberViewer.h
+index 0f6933d6ecc..ef944aa67cb 100644
+--- a/MuonSpectrometer/MuonPhaseII/Event/xAOD/xAODMuonViews/xAODMuonViews/ChamberViewer.h
++++ b/MuonSpectrometer/MuonPhaseII/Event/xAOD/xAODMuonViews/xAODMuonViews/ChamberViewer.h
+@@ -8,7 +8,7 @@
+ 
+ #include <xAODMeasurementBase/MeasurementDefs.h>
+ #include <MuonIdHelpers/IMuonIdHelperSvc.h>
+-#include <GeoModelHelpers/throwExcept.h>
++#include <GeoModelKernel/throwExcept.h>
+ 
+ #define BUILD_TRAIT(traitName, conceptPass) \
+     template <typename T> struct traitName{}; \
+diff --git a/MuonSpectrometer/MuonPhaseII/MuonConditions/MuonAlignmentDataR4/src/MdtAlignmentStore.cxx b/MuonSpectrometer/MuonPhaseII/MuonConditions/MuonAlignmentDataR4/src/MdtAlignmentStore.cxx
+index c27ed232615..6ef58b6ec92 100644
+--- a/MuonSpectrometer/MuonPhaseII/MuonConditions/MuonAlignmentDataR4/src/MdtAlignmentStore.cxx
++++ b/MuonSpectrometer/MuonPhaseII/MuonConditions/MuonAlignmentDataR4/src/MdtAlignmentStore.cxx
+@@ -3,7 +3,7 @@
+ */
+ #include <MuonAlignmentDataR4/MdtAlignmentStore.h>
+ 
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ MdtAlignmentStore::MdtAlignmentStore(const Muon::IMuonIdHelperSvc* idHelperSvc):
+     m_idHelperSvc{idHelperSvc}{
+     /// Reserve enough space in the vector
+diff --git a/MuonSpectrometer/MuonPhaseII/MuonDigitization/MuonDigitizationR4/src/MuonDigitizationTool.cxx b/MuonSpectrometer/MuonPhaseII/MuonDigitization/MuonDigitizationR4/src/MuonDigitizationTool.cxx
+index 3f30fa61b65..e3c11c9ee49 100644
+--- a/MuonSpectrometer/MuonPhaseII/MuonDigitization/MuonDigitizationR4/src/MuonDigitizationTool.cxx
++++ b/MuonSpectrometer/MuonPhaseII/MuonDigitization/MuonDigitizationR4/src/MuonDigitizationTool.cxx
+@@ -5,7 +5,7 @@
+ 
+ #include <xAODMuonSimHit/MuonSimHitAuxContainer.h>
+ #include <AthenaKernel/RNGWrapper.h>
+-#include <GeoModelHelpers/throwExcept.h>
++#include <GeoModelKernel/throwExcept.h>
+ 
+ namespace MuonR4{
+ 
+diff --git a/MuonSpectrometer/MuonPhaseII/MuonG4/MuonSensitiveDetectorsR4/src/MdtSensitiveDetector.cxx b/MuonSpectrometer/MuonPhaseII/MuonG4/MuonSensitiveDetectorsR4/src/MdtSensitiveDetector.cxx
+index 78daca7ed52..01e8f3b2893 100755
+--- a/MuonSpectrometer/MuonPhaseII/MuonG4/MuonSensitiveDetectorsR4/src/MdtSensitiveDetector.cxx
++++ b/MuonSpectrometer/MuonPhaseII/MuonG4/MuonSensitiveDetectorsR4/src/MdtSensitiveDetector.cxx
+@@ -13,7 +13,7 @@
+ #include <limits>
+ #include <iostream>
+ #include <GeoPrimitives/CLHEPtoEigenConverter.h>
+-#include <GeoModelHelpers/throwExcept.h>
++#include <GeoModelKernel/throwExcept.h>
+ #include <xAODMuonSimHit/MuonSimHitAuxContainer.h>
+ #include <GaudiKernel/SystemOfUnits.h>
+ #include <StoreGate/ReadHandle.h>
+diff --git a/MuonSpectrometer/MuonPhaseII/MuonG4/MuonSensitiveDetectorsR4/src/MmSensitiveDetector.cxx b/MuonSpectrometer/MuonPhaseII/MuonG4/MuonSensitiveDetectorsR4/src/MmSensitiveDetector.cxx
+index 32d6995e9df..92de5defbec 100644
+--- a/MuonSpectrometer/MuonPhaseII/MuonG4/MuonSensitiveDetectorsR4/src/MmSensitiveDetector.cxx
++++ b/MuonSpectrometer/MuonPhaseII/MuonG4/MuonSensitiveDetectorsR4/src/MmSensitiveDetector.cxx
+@@ -14,7 +14,7 @@
+ 
+ #include "GeoPrimitives/CLHEPtoEigenConverter.h"
+ #include "xAODMuonSimHit/MuonSimHitAuxContainer.h"
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ #include "GaudiKernel/SystemOfUnits.h"
+ 
+ 
+diff --git a/MuonSpectrometer/MuonPhaseII/MuonG4/MuonSensitiveDetectorsR4/src/RpcSensitiveDetector.cxx b/MuonSpectrometer/MuonPhaseII/MuonG4/MuonSensitiveDetectorsR4/src/RpcSensitiveDetector.cxx
+index 9692f835173..8d4f974a8ae 100755
+--- a/MuonSpectrometer/MuonPhaseII/MuonG4/MuonSensitiveDetectorsR4/src/RpcSensitiveDetector.cxx
++++ b/MuonSpectrometer/MuonPhaseII/MuonG4/MuonSensitiveDetectorsR4/src/RpcSensitiveDetector.cxx
+@@ -15,7 +15,7 @@
+ #include "GeoPrimitives/CLHEPtoEigenConverter.h"
+ #include "xAODMuonSimHit/MuonSimHitAuxContainer.h"
+ #include "GaudiKernel/SystemOfUnits.h"
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ 
+ using namespace MuonGMR4;
+ using namespace CxxUtils;
+diff --git a/MuonSpectrometer/MuonPhaseII/MuonG4/MuonSensitiveDetectorsR4/src/TgcSensitiveDetector.cxx b/MuonSpectrometer/MuonPhaseII/MuonG4/MuonSensitiveDetectorsR4/src/TgcSensitiveDetector.cxx
+index 06563ce7cbb..48ecda92fed 100644
+--- a/MuonSpectrometer/MuonPhaseII/MuonG4/MuonSensitiveDetectorsR4/src/TgcSensitiveDetector.cxx
++++ b/MuonSpectrometer/MuonPhaseII/MuonG4/MuonSensitiveDetectorsR4/src/TgcSensitiveDetector.cxx
+@@ -16,7 +16,7 @@
+ #include "GeoPrimitives/CLHEPtoEigenConverter.h"
+ #include "xAODMuonSimHit/MuonSimHitAuxContainer.h"
+ #include "GaudiKernel/SystemOfUnits.h"
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ 
+ using namespace ActsTrk;
+ 
+diff --git a/MuonSpectrometer/MuonPhaseII/MuonG4/MuonSensitiveDetectorsR4/src/sTgcSensitiveDetector.cxx b/MuonSpectrometer/MuonPhaseII/MuonG4/MuonSensitiveDetectorsR4/src/sTgcSensitiveDetector.cxx
+index 66bab981140..9631290cc90 100755
+--- a/MuonSpectrometer/MuonPhaseII/MuonG4/MuonSensitiveDetectorsR4/src/sTgcSensitiveDetector.cxx
++++ b/MuonSpectrometer/MuonPhaseII/MuonG4/MuonSensitiveDetectorsR4/src/sTgcSensitiveDetector.cxx
+@@ -15,7 +15,7 @@
+ #include "GeoPrimitives/CLHEPtoEigenConverter.h"
+ #include "xAODMuonSimHit/MuonSimHitAuxContainer.h"
+ #include "GaudiKernel/SystemOfUnits.h"
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ 
+ 
+ using namespace MuonGMR4;
+diff --git a/MuonSpectrometer/MuonPhaseII/MuonPatternRecognition/MuonPatternHelpers/Root/SegmentFitHelperFunctions.cxx b/MuonSpectrometer/MuonPhaseII/MuonPatternRecognition/MuonPatternHelpers/Root/SegmentFitHelperFunctions.cxx
+index f8bb93dade5..397a74a1862 100644
+--- a/MuonSpectrometer/MuonPhaseII/MuonPatternRecognition/MuonPatternHelpers/Root/SegmentFitHelperFunctions.cxx
++++ b/MuonSpectrometer/MuonPhaseII/MuonPatternRecognition/MuonPatternHelpers/Root/SegmentFitHelperFunctions.cxx
+@@ -8,7 +8,7 @@
+ #include "GeoPrimitives/GeoPrimitivesHelpers.h"
+ #include "AthenaBaseComps/AthMessaging.h"
+ #include "GaudiKernel/PhysicalConstants.h"
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ #include "xAODMuonPrepData/MdtDriftCircle.h"
+ #include "MuonSpacePoint/UtilFunctions.h"
+ 
+diff --git a/MuonSpectrometer/MuonPhaseII/MuonValidation/MuonPRDTestR4/Root/TesterModuleBase.cxx b/MuonSpectrometer/MuonPhaseII/MuonValidation/MuonPRDTestR4/Root/TesterModuleBase.cxx
+index f4014b412d7..a783fb300bf 100644
+--- a/MuonSpectrometer/MuonPhaseII/MuonValidation/MuonPRDTestR4/Root/TesterModuleBase.cxx
++++ b/MuonSpectrometer/MuonPhaseII/MuonValidation/MuonPRDTestR4/Root/TesterModuleBase.cxx
+@@ -3,7 +3,7 @@
+ */
+ 
+ #include "MuonPRDTestR4/TesterModuleBase.h"
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ #include "StoreGate/ReadHandle.h"
+ #include "StoreGate/StoreGateSvc.h"
+ 
+diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecUtils/MuonStationIntersectCond/src/MdtIntersectGeometry.cxx b/MuonSpectrometer/MuonReconstruction/MuonRecUtils/MuonStationIntersectCond/src/MdtIntersectGeometry.cxx
+index 58da3a4c40c..9d79d6073a3 100755
+--- a/MuonSpectrometer/MuonReconstruction/MuonRecUtils/MuonStationIntersectCond/src/MdtIntersectGeometry.cxx
++++ b/MuonSpectrometer/MuonReconstruction/MuonRecUtils/MuonStationIntersectCond/src/MdtIntersectGeometry.cxx
+@@ -15,7 +15,7 @@
+ #include "MuonReadoutGeometry/MuonDetectorManager.h"
+ #include "TrkDriftCircleMath/MdtChamberGeometry.h"
+ #include "TrkDriftCircleMath/MdtId.h"
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ // maxNTubesPerLayer is included via MdtChamberGeometry.h -> DriftCircle.h
+ 
+ namespace Muon {
+diff --git a/Simulation/G4Utilities/Geo2G4/src/Geo2G4Builder.cxx b/Simulation/G4Utilities/Geo2G4/src/Geo2G4Builder.cxx
+index f0cf086271e..70c3bf4be2d 100644
+--- a/Simulation/G4Utilities/Geo2G4/src/Geo2G4Builder.cxx
++++ b/Simulation/G4Utilities/Geo2G4/src/Geo2G4Builder.cxx
+@@ -23,7 +23,7 @@
+ #include "G4ReflectionFactory.hh"
+ #include "G4LogicalBorderSurface.hh"
+ #include "G4OpticalSurface.hh"
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ 
+ #include <map>
+ #include <iostream>
+diff --git a/Tracking/Acts/ActsGeoUtils/src/SurfaceCache.cxx b/Tracking/Acts/ActsGeoUtils/src/SurfaceCache.cxx
+index fe3cd686a02..ce0e87c38e4 100644
+--- a/Tracking/Acts/ActsGeoUtils/src/SurfaceCache.cxx
++++ b/Tracking/Acts/ActsGeoUtils/src/SurfaceCache.cxx
+@@ -5,7 +5,7 @@
+ #include <ActsGeoUtils/SurfaceCache.h>
+ #ifndef SIMULATIONBASE
+ #include <Acts/Surfaces/Surface.hpp>
+-#include <GeoModelHelpers/throwExcept.h>
++#include <GeoModelKernel/throwExcept.h>
+ 
+ namespace ActsTrk{
+ 
+diff --git a/Tracking/Acts/ActsGeometry/src/ActsDetectorElement.cxx b/Tracking/Acts/ActsGeometry/src/ActsDetectorElement.cxx
+index 73a6866b88b..d02b6374f4a 100644
+--- a/Tracking/Acts/ActsGeometry/src/ActsDetectorElement.cxx
++++ b/Tracking/Acts/ActsGeometry/src/ActsDetectorElement.cxx
+@@ -4,7 +4,7 @@
+ 
+ #include "ActsGeometry/ActsDetectorElement.h"
+ 
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ 
+ // ATHENA
+ #include "ActsInterop/IdentityHelper.h"
+diff --git a/Tracking/TrkUtilityPackages/TrkDriftCircleMath/src/MdtChamberGeometry.cxx b/Tracking/TrkUtilityPackages/TrkDriftCircleMath/src/MdtChamberGeometry.cxx
+index 22ef92a3ca6..b39defbc350 100644
+--- a/Tracking/TrkUtilityPackages/TrkDriftCircleMath/src/MdtChamberGeometry.cxx
++++ b/Tracking/TrkUtilityPackages/TrkDriftCircleMath/src/MdtChamberGeometry.cxx
+@@ -10,7 +10,7 @@
+ #include "TrkDriftCircleMath/SortDcsByY.h"
+ #include <AthenaKernel/getMessageSvc.h>
+ #include <MuonReadoutGeometry/MdtReadoutElement.h>
+-#include "GeoModelHelpers/throwExcept.h"
++#include "GeoModelKernel/throwExcept.h"
+ 
+ namespace {
+     constexpr int maxNTubesPerLayer = MdtIdHelper::maxNTubesPerLayer;
+-- 
+2.34.1
+