diff --git a/Core/include/ACTS/Extrapolation/Wrapper.hpp b/Core/include/ACTS/Extrapolation/Wrapper.hpp
index 42c3b0038eab509ef4c57430d059c857ca44c992..ead7234ced95e9a33f2b577261883098149320a1 100644
--- a/Core/include/ACTS/Extrapolation/Wrapper.hpp
+++ b/Core/include/ACTS/Extrapolation/Wrapper.hpp
@@ -333,9 +333,9 @@ namespace propagation {
               typename Observers,
               typename Aborters>
     WrapperResult<Parameters>
-    propagate_(Cache&            cache,
-               const Parameters& start,
-               const Surface&    surface,
+    propagate_(Cache& cache,
+               const Parameters& /*start*/,
+               const Surface& surface,
                const Options<Observers, Aborters>& options) const
     {
       // Initialize the propagation result object
diff --git a/Core/include/ACTS/MagneticField/ConstantBField.hpp b/Core/include/ACTS/MagneticField/ConstantBField.hpp
index 2be6206c12044d68f2552481421a9e21a6fede69..f98d3115a3cd87620028755d859ab9cec249260b 100644
--- a/Core/include/ACTS/MagneticField/ConstantBField.hpp
+++ b/Core/include/ACTS/MagneticField/ConstantBField.hpp
@@ -46,7 +46,7 @@ public:
     ///
     /// @note The field is the same everywhere for a constant B-Field
     Vector3D
-    getField(const Vector3D& position) const
+    getField(const Vector3D& /*position*/) const
     {
       return m_BField;
     }
@@ -58,7 +58,7 @@ public:
     ///         otherwise @c false
     /// @note The method will always return true for the constant B-Field
     bool
-    isInside(const Vector3D& position) const
+    isInside(const Vector3D& /*position*/) const
     {
       return true;
     }
@@ -94,7 +94,7 @@ public:
   /// @note The @p position is ignored and only kept as argument to provide
   ///       a consistent interface with other magnetic field services.
   Vector3D
-  getField(const Vector3D& position) const
+  getField(const Vector3D& /*position*/) const
   {
     return m_BField;
   }
@@ -105,7 +105,7 @@ public:
   /// @return field cell containing the given global position
   ///
   concept::AnyFieldCell<>
-  getFieldCell(const Vector3D& position) const
+  getFieldCell(const Vector3D& /*position*/) const
   {
     return m_fieldCell;
   }
@@ -121,8 +121,8 @@ public:
   /// @note currently the derivative is not calculated
   /// @todo return derivative
   Vector3D
-  getFieldGradient(const Vector3D& position,
-                   ActsMatrixD<3, 3>& derivative) const
+  getFieldGradient(const Vector3D& /*position*/,
+                   ActsMatrixD<3, 3>& /*derivative*/) const
   {
     return m_BField;
   }
diff --git a/Core/include/ACTS/MagneticField/InterpolatedBFieldMap.hpp b/Core/include/ACTS/MagneticField/InterpolatedBFieldMap.hpp
index f6852bd2f213dbe9ff283ba1c23e7bbdf3889a72..edb48f2ab27c0414709a108fde17571ce0a9358f 100644
--- a/Core/include/ACTS/MagneticField/InterpolatedBFieldMap.hpp
+++ b/Core/include/ACTS/MagneticField/InterpolatedBFieldMap.hpp
@@ -313,7 +313,7 @@ public:
   /// @todo return derivative
   Vector3D
   getFieldGradient(const Vector3D& position,
-                   ActsMatrixD<3, 3>& derivative) const
+                   ActsMatrixD<3, 3>& /*derivative*/) const
   {
     return m_config.mapper.getField(position);
   }
diff --git a/Core/include/ACTS/MagneticField/concept/AnyFieldLookup.hpp b/Core/include/ACTS/MagneticField/concept/AnyFieldLookup.hpp
index bb648abf9d75cf572b1a7df953d5037a4d425133..88ef3e0a17b6b90be9663b8940d5cd522807f143 100644
--- a/Core/include/ACTS/MagneticField/concept/AnyFieldLookup.hpp
+++ b/Core/include/ACTS/MagneticField/concept/AnyFieldLookup.hpp
@@ -17,12 +17,12 @@
 #include "ACTS/Utilities/Definitions.hpp"
 
 // clang-format off
-BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(afl_detail)(has_getField), getField, 1);
-BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(afl_detail)(has_getFieldCell), getFieldCell, 1);
-BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(afl_detail)(has_isInside), isInside, 1);
-BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(afl_detail)(has_getNBins), getNBins, 0);
-BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(afl_detail)(has_getMin), getMin, 0);
-BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(afl_detail)(has_getMax), getMax, 0);
+BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(afl_detail)(has_getField), getField, 1)
+BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(afl_detail)(has_getFieldCell), getFieldCell, 1)
+BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(afl_detail)(has_isInside), isInside, 1)
+BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(afl_detail)(has_getNBins), getNBins, 0)
+BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(afl_detail)(has_getMin), getMin, 0)
+BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(afl_detail)(has_getMax), getMax, 0)
 // clang-format on
 
 namespace Acts {
diff --git a/Core/include/ACTS/Propagator/detail/condition_uses_result_type.hpp b/Core/include/ACTS/Propagator/detail/condition_uses_result_type.hpp
index c0491182a7dc86606e2bbf5dc31865831cfe7a51..d9900fa89e53e763c315192051bee6f39ca17c69 100644
--- a/Core/include/ACTS/Propagator/detail/condition_uses_result_type.hpp
+++ b/Core/include/ACTS/Propagator/detail/condition_uses_result_type.hpp
@@ -16,18 +16,16 @@ namespace Acts {
 
 namespace detail {
 
-  namespace {
-    template <typename T, bool has_observer = true>
-    struct condition_uses_result_type_impl
-    {
-      static constexpr bool value = has_result_type_v<observer_type_t<T>>;
-    };
-
-    template <typename T>
-    struct condition_uses_result_type_impl<T, false> : std::false_type
-    {
-    };
-  }  // end of anonymous namespace
+  template <typename T, bool has_observer = true>
+  struct condition_uses_result_type_impl
+  {
+    static constexpr bool value = has_result_type_v<observer_type_t<T>>;
+  };
+
+  template <typename T>
+  struct condition_uses_result_type_impl<T, false> : std::false_type
+  {
+  };
 
   template <typename T>
   struct condition_uses_result_type
diff --git a/Core/include/ACTS/Surfaces/InfiniteBounds.hpp b/Core/include/ACTS/Surfaces/InfiniteBounds.hpp
index 2d6b0ca6f7cb46c257e312106eacd0f178e4512b..abdd76a103631c7371d148afd84bdd9257358605 100644
--- a/Core/include/ACTS/Surfaces/InfiniteBounds.hpp
+++ b/Core/include/ACTS/Surfaces/InfiniteBounds.hpp
@@ -62,7 +62,7 @@ public:
   /// ignores input parameter
   /// @return always 0. (should be -NaN)
   virtual double
-  distanceToBoundary(const Vector2D& pos) const final override
+  distanceToBoundary(const Vector2D& /*pos*/) const final override
   {
     return 0;
   }
diff --git a/Core/include/ACTS/Utilities/concept/AnyGrid.hpp b/Core/include/ACTS/Utilities/concept/AnyGrid.hpp
index 46f303f633ce3d5fd012b5389f75a408c1986e64..7cd8370ec2407fc788aa63e7010b1d44d0a1f046 100644
--- a/Core/include/ACTS/Utilities/concept/AnyGrid.hpp
+++ b/Core/include/ACTS/Utilities/concept/AnyGrid.hpp
@@ -17,21 +17,21 @@
 #include <set>
 
 // clang-format off
-BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_at), at, 1);
-BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_closestPointsIndices), closestPointsIndices, 1);
-BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_dimensions), dimensions, 0);
-BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_getBinCenter), getBinCenter, 1);
-BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_getGlobalBinIndex), getGlobalBinIndex, 1);
-BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_getLocalBinIndices), getLocalBinIndices, 1);
-BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_getLowerLeftBinEdge), getLowerLeftBinEdge, 1);
-BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_getUpperRightBinEdge), getUpperRightBinEdge, 1);
-BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_interpolate), interpolate, 1);
-BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_isInside), isInside, 1);
-BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_neighborHoodIndices), neighborHoodIndices, 2);
-BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_size), size, 0);
-BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_getNBins), getNBins, 0);
-BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_getMin), getMin, 0);
-BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_getMax), getMax, 0);
+BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_at), at, 1)
+BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_closestPointsIndices), closestPointsIndices, 1)
+BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_dimensions), dimensions, 0)
+BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_getBinCenter), getBinCenter, 1)
+BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_getGlobalBinIndex), getGlobalBinIndex, 1)
+BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_getLocalBinIndices), getLocalBinIndices, 1)
+BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_getLowerLeftBinEdge), getLowerLeftBinEdge, 1)
+BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_getUpperRightBinEdge), getUpperRightBinEdge, 1)
+BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_interpolate), interpolate, 1)
+BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_isInside), isInside, 1)
+BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_neighborHoodIndices), neighborHoodIndices, 2)
+BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_size), size, 0)
+BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_getNBins), getNBins, 0)
+BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_getMin), getMin, 0)
+BOOST_TYPE_ERASURE_MEMBER((Acts)(concept)(any_grid_detail)(has_getMax), getMax, 0)
 // clang-format on
 
 namespace Acts {
diff --git a/Core/include/ACTS/Utilities/detail/MPL/type_collector.hpp b/Core/include/ACTS/Utilities/detail/MPL/type_collector.hpp
index f888673837742036f984956c6c9e8c70f1aa062d..d074feaef5e7be7a3877283ec1b3696d70a14570 100644
--- a/Core/include/ACTS/Utilities/detail/MPL/type_collector.hpp
+++ b/Core/include/ACTS/Utilities/detail/MPL/type_collector.hpp
@@ -43,7 +43,7 @@ namespace detail {
       };
 
     public:
-      HAS_TYPE(result_type);
+      HAS_TYPE(result_type)
 
       template <typename T>
       using type = typename extractor<T>::type;
@@ -59,7 +59,7 @@ namespace detail {
       };
 
     public:
-      HAS_TYPE(observer_type);
+      HAS_TYPE(observer_type)
 
       template <typename T>
       using type = typename extractor<T>::type;
diff --git a/Core/include/ACTS/Utilities/detail/grid_helper.hpp b/Core/include/ACTS/Utilities/detail/grid_helper.hpp
index 6fbfbc7ab1c448b4c192688590429a5dd7b4bf1a..4cd94ab06196d760e7be00cdc3d7a02d426d67b9 100644
--- a/Core/include/ACTS/Utilities/detail/grid_helper.hpp
+++ b/Core/include/ACTS/Utilities/detail/grid_helper.hpp
@@ -194,11 +194,11 @@ namespace detail {
   {
     template <class... Axes>
     static void
-    closestPointsIndices(size_t                     bin,
-                         size_t                     area,
-                         bool                       minimum,
-                         const std::tuple<Axes...>& axes,
-                         std::set<size_t>&          closestPointsIndices)
+    closestPointsIndices(size_t bin,
+                         size_t area,
+                         bool   minimum,
+                         const std::tuple<Axes...>& /*axes*/,
+                         std::set<size_t>& closestPointsIndices)
     {
       if (not minimum) bin += area;
       closestPointsIndices.insert(bin);
@@ -227,18 +227,18 @@ namespace detail {
     template <class... Axes>
     static void
     getGlobalBin(const std::array<size_t, sizeof...(Axes)>& localBins,
-                 const std::tuple<Axes...>& axes,
-                 size_t&                    bin,
-                 size_t&                    area)
+                 const std::tuple<Axes...>& /*axes*/,
+                 size_t& bin,
+                 size_t& area)
     {
       bin += area * localBins.at(0u);
     }
 
     template <class... Axes>
     static void
-    getLocalBinIndices(size_t&                    bin,
-                       const std::tuple<Axes...>& axes,
-                       size_t&                    area,
+    getLocalBinIndices(size_t& bin,
+                       const std::tuple<Axes...>& /*axes*/,
+                       size_t& area,
                        std::array<size_t, sizeof...(Axes)>& indices)
     {
       // make sure to account for under-/overflow bins
diff --git a/Core/src/Extrapolation/MaterialEffectsEngine.cpp b/Core/src/Extrapolation/MaterialEffectsEngine.cpp
index 8ddd1cbb4484c0b35822a4b9e0dc65ed81e27e68..024d3ec61097ac45a29d654714a3c61e4f229ecb 100644
--- a/Core/src/Extrapolation/MaterialEffectsEngine.cpp
+++ b/Core/src/Extrapolation/MaterialEffectsEngine.cpp
@@ -54,10 +54,10 @@ Acts::MaterialEffectsEngine::setLogger(std::unique_ptr<const Logger> newLogger)
 // neutral extrapolation - just collect material /
 Acts::ExtrapolationCode
 Acts::MaterialEffectsEngine::handleMaterial(
-    ExCellNeutral&      eCell,
-    const Surface*      surface,
-    PropDirection       dir,
-    MaterialUpdateStage matupstage) const
+    ExCellNeutral& eCell,
+    const Surface* surface,
+    PropDirection /*dir*/,
+    MaterialUpdateStage /*matupstage*/) const
 {
   // parameters are the lead parameters
   // by definition the material surface is the one the parametrs are on
@@ -144,12 +144,12 @@ Acts::MaterialEffectsEngine::handleMaterial(
 // update method for charged extrapolation
 void
 Acts::MaterialEffectsEngine::updateTrackParameters(
-    ExCellCharged&      eCell,
-    const Surface&      mSurface,
-    PropDirection       dir,
-    MaterialUpdateStage matupstage,
-    const std::string&  surfaceType,
-    size_t              surfaceID) const
+    ExCellCharged& eCell,
+    const Surface& mSurface,
+    PropDirection  dir,
+    MaterialUpdateStage /*matupstage*/,
+    const std::string& surfaceType,
+    size_t             surfaceID) const
 {
   // return if you have nothing to do
   if (!mSurface.associatedMaterial()) return;
diff --git a/Core/src/Extrapolation/RungeKuttaUtils.cpp b/Core/src/Extrapolation/RungeKuttaUtils.cpp
index aad4c63e3e9af9e57a72d82b1927ab37d44ea0ac..226f69cf273e11336339b07c0b0a88714d8fea0c 100644
--- a/Core/src/Extrapolation/RungeKuttaUtils.cpp
+++ b/Core/src/Extrapolation/RungeKuttaUtils.cpp
@@ -706,7 +706,7 @@ double
 Acts::RungeKuttaUtils::stepEstimatorToStraw(double*       S,
                                             const double* P,
                                             bool&         Q,
-                                            bool          istep) const
+                                            bool /*istep*/) const
 {
   const double* r = &P[0];  // Start coordinate
   const double* a = &P[3];  // Start direction
diff --git a/Core/src/Surfaces/ConeSurface.cpp b/Core/src/Surfaces/ConeSurface.cpp
index 96858a9ed41f632c34538aa4377faeb2f5df19af..2ba3e2e6ff6b98decae424381cdbcc042c563ac5 100644
--- a/Core/src/Surfaces/ConeSurface.cpp
+++ b/Core/src/Surfaces/ConeSurface.cpp
@@ -21,20 +21,21 @@
 #include "ACTS/Utilities/detail/RealQuadraticEquation.hpp"
 
 Acts::ConeSurface::ConeSurface(const ConeSurface& other)
-  : Surface(other), m_bounds(other.m_bounds)
+  : GeometryObject(), Surface(other), m_bounds(other.m_bounds)
 {
 }
 
 Acts::ConeSurface::ConeSurface(const ConeSurface& other,
                                const Transform3D& transf)
-  : Surface(other, transf), m_bounds(other.m_bounds)
+  : GeometryObject(), Surface(other, transf), m_bounds(other.m_bounds)
 {
 }
 
 Acts::ConeSurface::ConeSurface(std::shared_ptr<const Transform3D> htrans,
                                double                             alpha,
                                bool                               symmetric)
-  : Surface(htrans)
+  : GeometryObject()
+  , Surface(htrans)
   , m_bounds(std::make_shared<const ConeBounds>(alpha, symmetric))
 {
 }
@@ -44,14 +45,15 @@ Acts::ConeSurface::ConeSurface(std::shared_ptr<const Transform3D> htrans,
                                double                             zmin,
                                double                             zmax,
                                double                             halfPhi)
-  : Surface(htrans)
+  : GeometryObject()
+  , Surface(htrans)
   , m_bounds(std::make_shared<const ConeBounds>(alpha, zmin, zmax, halfPhi))
 {
 }
 
 Acts::ConeSurface::ConeSurface(std::shared_ptr<const Transform3D> htrans,
                                std::shared_ptr<const ConeBounds>  cbounds)
-  : Surface(htrans), m_bounds(cbounds)
+  : GeometryObject(), Surface(htrans), m_bounds(cbounds)
 {
   throw_assert(cbounds, "ConeBounds must not be nullptr");
 }
diff --git a/Core/src/Surfaces/CylinderSurface.cpp b/Core/src/Surfaces/CylinderSurface.cpp
index ab502c3e4995675a620e87011db4f42f89837caa..1a394a5eda18397a01a367cf7351905258dec23a 100644
--- a/Core/src/Surfaces/CylinderSurface.cpp
+++ b/Core/src/Surfaces/CylinderSurface.cpp
@@ -21,13 +21,13 @@
 #include "ACTS/Utilities/detail/RealQuadraticEquation.hpp"
 
 Acts::CylinderSurface::CylinderSurface(const CylinderSurface& other)
-  : Surface(other), m_bounds(other.m_bounds)
+  : GeometryObject(), Surface(other), m_bounds(other.m_bounds)
 {
 }
 
 Acts::CylinderSurface::CylinderSurface(const CylinderSurface& other,
                                        const Transform3D&     transf)
-  : Surface(other, transf), m_bounds(other.m_bounds)
+  : GeometryObject(), Surface(other, transf), m_bounds(other.m_bounds)
 {
 }
 
@@ -35,7 +35,8 @@ Acts::CylinderSurface::CylinderSurface(
     std::shared_ptr<const Transform3D> htrans,
     double                             radius,
     double                             hlength)
-  : Surface(htrans)
+  : GeometryObject()
+  , Surface(htrans)
   , m_bounds(std::make_shared<const CylinderBounds>(radius, hlength))
 {
 }
@@ -45,7 +46,8 @@ Acts::CylinderSurface::CylinderSurface(
     double                             radius,
     double                             hphi,
     double                             hlength)
-  : Surface(htrans)
+  : GeometryObject()
+  , Surface(htrans)
   , m_bounds(std::make_shared<const CylinderBounds>(radius, hphi, hlength))
 {
 }
diff --git a/Core/src/Surfaces/DiscSurface.cpp b/Core/src/Surfaces/DiscSurface.cpp
index 0dc1a097a558d90043ff58bdb437e413fe0a807f..30c1b07a3c2d3e5eb7a154e1596737b997048f4c 100644
--- a/Core/src/Surfaces/DiscSurface.cpp
+++ b/Core/src/Surfaces/DiscSurface.cpp
@@ -23,13 +23,13 @@
 #include "ACTS/Utilities/ThrowAssert.hpp"
 
 Acts::DiscSurface::DiscSurface(const DiscSurface& other)
-  : Surface(other), m_bounds(other.m_bounds)
+  : GeometryObject(), Surface(other), m_bounds(other.m_bounds)
 {
 }
 
 Acts::DiscSurface::DiscSurface(const DiscSurface& other,
                                const Transform3D& transf)
-  : Surface(other, transf), m_bounds(other.m_bounds)
+  : GeometryObject(), Surface(other, transf), m_bounds(other.m_bounds)
 {
 }
 
@@ -37,7 +37,8 @@ Acts::DiscSurface::DiscSurface(std::shared_ptr<const Transform3D> htrans,
                                double                             rmin,
                                double                             rmax,
                                double                             hphisec)
-  : Surface(htrans)
+  : GeometryObject()
+  , Surface(htrans)
   , m_bounds(std::make_shared<const RadialBounds>(rmin, rmax, hphisec))
 {
 }
@@ -49,7 +50,8 @@ Acts::DiscSurface::DiscSurface(std::shared_ptr<const Transform3D> htrans,
                                double                             minR,
                                double                             avephi,
                                double                             stereo)
-  : Surface(htrans)
+  : GeometryObject()
+  , Surface(htrans)
   , m_bounds(std::make_shared<const DiscTrapezoidalBounds>(minhalfx,
                                                            maxhalfx,
                                                            maxR,
@@ -61,14 +63,14 @@ Acts::DiscSurface::DiscSurface(std::shared_ptr<const Transform3D> htrans,
 
 Acts::DiscSurface::DiscSurface(std::shared_ptr<const Transform3D> htrans,
                                std::shared_ptr<const DiscBounds>  dbounds)
-  : Surface(htrans), m_bounds(dbounds)
+  : GeometryObject(), Surface(htrans), m_bounds(dbounds)
 {
 }
 
 Acts::DiscSurface::DiscSurface(std::shared_ptr<const DiscBounds> dbounds,
                                const DetectorElementBase&        detelement,
                                const Identifier&                 identifier)
-  : Surface(detelement, identifier), m_bounds(nullptr)
+  : GeometryObject(), Surface(detelement, identifier), m_bounds(nullptr)
 {
   throw_assert(dbounds, "nullptr as DiscBounds");
 }
diff --git a/Core/src/Surfaces/LineSurface.cpp b/Core/src/Surfaces/LineSurface.cpp
index 6dd3f789876b674e3677bd03f814028d63aaf37e..55675e1fa7c27d0b9fd4fa41e0491eaa107db1fe 100644
--- a/Core/src/Surfaces/LineSurface.cpp
+++ b/Core/src/Surfaces/LineSurface.cpp
@@ -21,32 +21,34 @@
 Acts::LineSurface::LineSurface(std::shared_ptr<const Transform3D> htrans,
                                double                             radius,
                                double                             halez)
-  : Surface(htrans), m_bounds(std::make_shared<const LineBounds>(radius, halez))
+  : GeometryObject()
+  , Surface(htrans)
+  , m_bounds(std::make_shared<const LineBounds>(radius, halez))
 {
 }
 
 Acts::LineSurface::LineSurface(std::shared_ptr<const Transform3D> htrans,
                                std::shared_ptr<const LineBounds>  lbounds)
-  : Surface(htrans), m_bounds(lbounds)
+  : GeometryObject(), Surface(htrans), m_bounds(lbounds)
 {
 }
 
 Acts::LineSurface::LineSurface(std::shared_ptr<const LineBounds> lbounds,
                                const DetectorElementBase&        detelement,
                                const Identifier&                 id)
-  : Surface(detelement, id), m_bounds(lbounds)
+  : GeometryObject(), Surface(detelement, id), m_bounds(lbounds)
 {
   throw_assert(lbounds, "LineBounds must not be nullptr");
 }
 
 Acts::LineSurface::LineSurface(const LineSurface& other)
-  : Surface(other), m_bounds(other.m_bounds)
+  : GeometryObject(), Surface(other), m_bounds(other.m_bounds)
 {
 }
 
 Acts::LineSurface::LineSurface(const LineSurface& other,
                                const Transform3D& transf)
-  : Surface(other, transf), m_bounds(other.m_bounds)
+  : GeometryObject(), Surface(other, transf), m_bounds(other.m_bounds)
 {
 }
 
@@ -172,13 +174,13 @@ Acts::LineSurface::pathCorrection(const Acts::Vector3D&,
 }
 
 const Acts::Vector3D
-Acts::LineSurface::binningPosition(Acts::BinningValue bValue) const
+    Acts::LineSurface::binningPosition(Acts::BinningValue /*bValue*/) const
 {
   return center();
 }
 
 const Acts::Vector3D
-Acts::LineSurface::normal(const Acts::Vector2D& lpos) const
+Acts::LineSurface::normal(const Acts::Vector2D& /*lpos*/) const
 {
   // the normal is conceptionally closest to the line direction
   return lineDirection();
diff --git a/Core/src/Surfaces/PerigeeSurface.cpp b/Core/src/Surfaces/PerigeeSurface.cpp
index 86c62e6097b730fb9e3208e9076733e67e9a7e0a..8abe20be39ad0d5e62bf0e7f3943b8b55c71ef88 100644
--- a/Core/src/Surfaces/PerigeeSurface.cpp
+++ b/Core/src/Surfaces/PerigeeSurface.cpp
@@ -23,18 +23,18 @@ Acts::PerigeeSurface::PerigeeSurface(const Vector3D& gp) : LineSurface(nullptr)
 
 Acts::PerigeeSurface::PerigeeSurface(
     std::shared_ptr<const Transform3D> tTransform)
-  : LineSurface(tTransform)
+  : GeometryObject(), LineSurface(tTransform)
 {
 }
 
 Acts::PerigeeSurface::PerigeeSurface(const PerigeeSurface& other)
-  : LineSurface(other)
+  : GeometryObject(), LineSurface(other)
 {
 }
 
 Acts::PerigeeSurface::PerigeeSurface(const PerigeeSurface& other,
                                      const Transform3D&    shift)
-  : LineSurface(other, shift)
+  : GeometryObject(), LineSurface(other, shift)
 {
 }
 
diff --git a/Core/src/Surfaces/PlaneSurface.cpp b/Core/src/Surfaces/PlaneSurface.cpp
index 1f89f90e0b85c6b50138e4ecdefd8fc8d1ef86f5..e6a5ab4141da2c6680a63d6d72b5630615e283ce 100644
--- a/Core/src/Surfaces/PlaneSurface.cpp
+++ b/Core/src/Surfaces/PlaneSurface.cpp
@@ -22,13 +22,13 @@
 #include "ACTS/Utilities/ThrowAssert.hpp"
 
 Acts::PlaneSurface::PlaneSurface(const PlaneSurface& other)
-  : Surface(other), m_bounds(other.m_bounds)
+  : GeometryObject(), Surface(other), m_bounds(other.m_bounds)
 {
 }
 
 Acts::PlaneSurface::PlaneSurface(const PlaneSurface& other,
                                  const Transform3D&  transf)
-  : Surface(other, transf), m_bounds(other.m_bounds)
+  : GeometryObject(), Surface(other, transf), m_bounds(other.m_bounds)
 {
 }
 
diff --git a/Core/src/Surfaces/StrawSurface.cpp b/Core/src/Surfaces/StrawSurface.cpp
index b5dfaea36116fe2c43e50da874856084077571a2..9c5b6031349f5672079d7021dfd430658770b1b0 100644
--- a/Core/src/Surfaces/StrawSurface.cpp
+++ b/Core/src/Surfaces/StrawSurface.cpp
@@ -21,25 +21,25 @@
 Acts::StrawSurface::StrawSurface(std::shared_ptr<const Transform3D> htrans,
                                  double                             radius,
                                  double                             halez)
-  : LineSurface(htrans, radius, halez)
+  : GeometryObject(), LineSurface(htrans, radius, halez)
 {
 }
 
 Acts::StrawSurface::StrawSurface(std::shared_ptr<const Transform3D> htrans,
                                  std::shared_ptr<const LineBounds>  lbounds)
-  : LineSurface(htrans, lbounds)
+  : GeometryObject(), LineSurface(htrans, lbounds)
 {
 }
 
 Acts::StrawSurface::StrawSurface(std::shared_ptr<const LineBounds> lbounds,
                                  const DetectorElementBase&        detelement,
                                  const Identifier&                 id)
-  : LineSurface(lbounds, detelement, id)
+  : GeometryObject(), LineSurface(lbounds, detelement, id)
 {
 }
 
 Acts::StrawSurface::StrawSurface(const Acts::StrawSurface& other)
-  : LineSurface(other)
+  : GeometryObject(), LineSurface(other)
 {
 }
 
diff --git a/Core/src/Tools/SurfaceArrayCreator.cpp b/Core/src/Tools/SurfaceArrayCreator.cpp
index d2e1a7d543ad95acfbf68dd5deca0df44cd34f35..a0fe3558d9dd7ceccd212b0a734bb61d977a0180 100644
--- a/Core/src/Tools/SurfaceArrayCreator.cpp
+++ b/Core/src/Tools/SurfaceArrayCreator.cpp
@@ -306,7 +306,7 @@ Acts::BinUtility
 Acts::SurfaceArrayCreator::createArbitraryBinUtility(
     const std::vector<const Surface*>& surfaces,
     Acts::BinningValue                 bValue,
-    std::shared_ptr<const Transform3D> transform) const
+    std::shared_ptr<const Transform3D> /*transform*/) const
 {
   if (!surfaces.size())
     throw std::logic_error(
@@ -573,7 +573,7 @@ Acts::BinUtility
 Acts::SurfaceArrayCreator::createEquidistantBinUtility(
     const std::vector<const Surface*>& surfaces,
     BinningValue                       bValue,
-    std::shared_ptr<const Transform3D> transform) const
+    std::shared_ptr<const Transform3D> /*transform*/) const
 {
   if (!surfaces.size())
     throw std::logic_error(
@@ -755,7 +755,7 @@ Acts::BinUtility
 Acts::SurfaceArrayCreator::createBinUtility(
     const std::vector<const Surface*>& surfaces,
     BinningValue                       bValue,
-    BinningType                        bType,
+    BinningType /*bType*/,
     size_t                             bins,
     double                             min,
     double                             max,
@@ -831,7 +831,7 @@ Acts::SurfaceArrayCreator::registerNeighbourHood(SurfaceArray& sArray) const
 /// @todo implement nearest neighbour search - this is brute force attack
 /// - takes too long otherwise in initialization
 void
-Acts::SurfaceArrayCreator::completeBinning(const BinUtility&    binUtility,
+Acts::SurfaceArrayCreator::completeBinning(const BinUtility& /*binUtility*/,
                                            const V3Matrix&      v3Matrix,
                                            const SurfaceVector& sVector,
                                            SurfaceGrid&         sGrid) const
diff --git a/Core/src/Utilities/BFieldMapUtils.cpp b/Core/src/Utilities/BFieldMapUtils.cpp
index 36c6e4ee9aa8a9dfafd577953e4a198a71b839d2..4384ec4d6c5e16fdf96966cf176665b081de3327 100644
--- a/Core/src/Utilities/BFieldMapUtils.cpp
+++ b/Core/src/Utilities/BFieldMapUtils.cpp
@@ -198,7 +198,7 @@ Acts::InterpolatedBFieldMap::FieldMapper<3, 3> Acts::fieldMapperXYZ(
   // [4] Create the transformation for the bfield
   // map (Bx,By,Bz) -> (Bx,By,Bz)
   auto transformBField = [](const Acts::Vector3D& field,
-                            const Acts::Vector3D& pos) { return field; };
+                            const Acts::Vector3D& /*pos*/) { return field; };
 
   // [5] Create the mapper & BField Service
   // create field mapping
diff --git a/IntegrationTests/PropagationTestBase.hpp b/IntegrationTests/PropagationTestBase.hpp
index 5e485cbdf6359a155bb0dabdc34ae05e788663a6..68963b95a7676fb32192d2e57d68d0ee943b65ad 100644
--- a/IntegrationTests/PropagationTestBase.hpp
+++ b/IntegrationTests/PropagationTestBase.hpp
@@ -89,6 +89,7 @@ BOOST_DATA_TEST_CASE(
     rand3,
     index)
 {
+  (void)index;
 
   double dcharge = -1 + 2 * charge;
   // just make sure we can reach it
@@ -149,6 +150,7 @@ BOOST_DATA_TEST_CASE(
     rand3,
     index)
 {
+  (void)index;
   double dcharge = -1 + 2 * charge;
   // to a plane with the atlas stepper
   auto a_at_plane
@@ -227,6 +229,7 @@ BOOST_DATA_TEST_CASE(
     rand3,
     index)
 {
+  (void)index;
   double dcharge = -1 + 2 * charge;
   // to a disc with the  atlas stepper
   auto a_at_disc
@@ -305,6 +308,7 @@ BOOST_DATA_TEST_CASE(
     rand3,
     index)
 {
+  (void)index;
   double dcharge = -1 + 2 * charge;
   // to a line with the atlas stepper
   auto a_at_line
diff --git a/IntegrationTests/PropagationTestHelper.hpp b/IntegrationTests/PropagationTestHelper.hpp
index 9627a0018a23142fadc3eb608365b665302c086f..ea8bdbe7ab8381cb8a46b3fa9e0a0f7c39317d57 100644
--- a/IntegrationTests/PropagationTestHelper.hpp
+++ b/IntegrationTests/PropagationTestHelper.hpp
@@ -80,9 +80,9 @@ namespace IntegrationTest {
                              double                 phi,
                              double                 theta,
                              double                 charge,
-                             int                    index,
-                             double                 Bz,
-                             double                 disttol = 0.1 * units::_um)
+                             int /*index*/,
+                             double Bz,
+                             double disttol = 0.1 * units::_um)
   {
 
     // setup propagation options
@@ -163,9 +163,9 @@ namespace IntegrationTest {
                   double                 theta,
                   double                 charge,
                   double                 plimit,
-                  int                    index,
-                  double                 disttol = 1. * units::_um,
-                  double                 momtol  = 10. * units::_keV)
+                  int /*index*/,
+                  double disttol = 1. * units::_um,
+                  double momtol  = 10. * units::_keV)
   {
 
     // setup propagation options
@@ -216,7 +216,7 @@ namespace IntegrationTest {
               double                 plimit,
               double                 rand1,
               double                 rand2,
-              double                 rand3)
+              double /*rand3*/)
   {
     // setup propagation options
     typename Propagator_type::template Options<> options;
@@ -319,8 +319,8 @@ namespace IntegrationTest {
                          double                 theta,
                          double                 charge,
                          double                 plimit,
-                         int                    index,
-                         double                 reltol = 1e-4)
+                         int /*index*/,
+                         double reltol = 1e-4)
   {
     covariance_validation_fixture<Propagator_type> fixture(propagator);
     // setup propagation options
@@ -379,10 +379,10 @@ namespace IntegrationTest {
                    double                 rand1,
                    double                 rand2,
                    double                 rand3,
-                   int                    index,
-                   bool                   startPlanar = true,
-                   bool                   destPlanar  = true,
-                   double                 reltol      = 1e-3)
+                   int /*index*/,
+                   bool   startPlanar = true,
+                   bool   destPlanar  = true,
+                   double reltol      = 1e-3)
   {
 
     covariance_validation_fixture<Propagator_type> fixture(propagator);
diff --git a/Plugins/DD4hepPlugin/src/ConvertDD4hepDetector.cpp b/Plugins/DD4hepPlugin/src/ConvertDD4hepDetector.cpp
index 2ca2f44e1b35251708577765437ee4ade5d533e2..e9ad4d151adb3ce96870c5960b98dc5b818f0106 100644
--- a/Plugins/DD4hepPlugin/src/ConvertDD4hepDetector.cpp
+++ b/Plugins/DD4hepPlugin/src/ConvertDD4hepDetector.cpp
@@ -33,8 +33,6 @@ convertDD4hepDetector(dd4hep::DetElement worldDetElement,
                       bool               buildDigitizationModules)
 {
   // check if envelopes of the volume should be built automatically
-  bool buildEnvelopes                                  = false;
-  if (layerEnvelopeR && layerEnvelopeZ) buildEnvelopes = true;
   // create local logger for conversion
   auto DD4hepConverterlogger
       = Acts::getDefaultLogger("DD4hepConversion", loggingLevel);
diff --git a/Tests/EventData/BoundParametersTests.cpp b/Tests/EventData/BoundParametersTests.cpp
index 43a0e5b61ff279d70588435fd1b42dfb7e779832..eb000bc54e564dc2c3e8f025f75a8b429b90bda9 100644
--- a/Tests/EventData/BoundParametersTests.cpp
+++ b/Tests/EventData/BoundParametersTests.cpp
@@ -64,6 +64,7 @@ namespace Test {
       c,
       index)
   {
+    (void)index;
     Vector3D center{x, y, z};
     auto     transform = std::make_shared<Transform3D>();
     transform->setIdentity();
@@ -169,6 +170,7 @@ namespace Test {
       c,
       index)
   {
+    (void)index;
     Vector3D center{x, y, z};
     auto     transform = std::make_shared<Transform3D>();
     transform->setIdentity();
@@ -250,6 +252,7 @@ namespace Test {
       c,
       index)
   {
+    (void)index;
 
     Vector3D center{x, y, z};
     auto     transform = std::make_shared<Transform3D>();
@@ -341,6 +344,7 @@ namespace Test {
       b,
       index)
   {
+    (void)index;
     Vector3D center{x, y, z};
     auto     transform = std::make_shared<Transform3D>();
     transform->setIdentity();
@@ -409,6 +413,7 @@ namespace Test {
       c,
       index)
   {
+    (void)index;
 
     Vector3D center{x, y, z};
     auto     transform = std::make_shared<Transform3D>();
diff --git a/Tests/Layers/ConeLayerTests.cpp b/Tests/Layers/ConeLayerTests.cpp
index e9170b35fd4492307a3eeea0ca6df26c7cefeecf..fabb7a30f411c250dfe331807fe9b0f44df8f3df 100644
--- a/Tests/Layers/ConeLayerTests.cpp
+++ b/Tests/Layers/ConeLayerTests.cpp
@@ -34,7 +34,7 @@ namespace Acts {
 
 namespace Test {
   namespace Layers {
-    BOOST_AUTO_TEST_SUITE(Layers);
+    BOOST_AUTO_TEST_SUITE(Layers)
 
     /// Unit test for creating compliant/non-compliant ConeLayer object
     BOOST_AUTO_TEST_CASE(ConeLayerConstruction)
@@ -109,7 +109,7 @@ namespace Test {
                  == std::string("Acts::ConeSurface"));
     }
 
-    BOOST_AUTO_TEST_SUITE_END();
+    BOOST_AUTO_TEST_SUITE_END()
   }  // end of namespace Layers
 }  // end of namespace Test
 
diff --git a/Tests/Layers/CylinderLayerTests.cpp b/Tests/Layers/CylinderLayerTests.cpp
index 4559d86f81793f7a9684c1426c970e4eaceff50a..7d7cc92412fa48a1b27c78435d02f72560a8e365 100644
--- a/Tests/Layers/CylinderLayerTests.cpp
+++ b/Tests/Layers/CylinderLayerTests.cpp
@@ -34,7 +34,7 @@ namespace Acts {
 
 namespace Test {
   namespace Layers {
-    BOOST_AUTO_TEST_SUITE(Layers);
+    BOOST_AUTO_TEST_SUITE(Layers)
 
     /// Unit test for creating compliant/non-compliant CylinderLayer object
     BOOST_AUTO_TEST_CASE(CylinderLayerConstruction)
@@ -101,7 +101,7 @@ namespace Test {
                  == std::string("Acts::CylinderSurface"));
     }
 
-    BOOST_AUTO_TEST_SUITE_END();
+    BOOST_AUTO_TEST_SUITE_END()
   }  // end of namespace Layers
 }  // end of namespace Test
 
diff --git a/Tests/Layers/DiscLayerTests.cpp b/Tests/Layers/DiscLayerTests.cpp
index 8d9dd5c96104948d75469697a3863fa27b973f2f..3fb55719370a76ca87d38f4a1a3b03a429598e49 100644
--- a/Tests/Layers/DiscLayerTests.cpp
+++ b/Tests/Layers/DiscLayerTests.cpp
@@ -34,7 +34,7 @@ namespace Acts {
 
 namespace Test {
   namespace Layers {
-    BOOST_AUTO_TEST_SUITE(Layers);
+    BOOST_AUTO_TEST_SUITE(Layers)
 
     /// Unit test for creating compliant/non-compliant DiscLayer object
     BOOST_AUTO_TEST_CASE(DiscLayerConstruction)
@@ -98,7 +98,7 @@ namespace Test {
                  == std::string("Acts::DiscSurface"));
     }
 
-    BOOST_AUTO_TEST_SUITE_END();
+    BOOST_AUTO_TEST_SUITE_END()
   }  // end of namespace Layers
 }  // end of namespace Test
 
diff --git a/Tests/Layers/GenericApproachDescriptorTests.cpp b/Tests/Layers/GenericApproachDescriptorTests.cpp
index 5402eee7c1351c33ebd6cb90f7b5ad712de338d3..acf0cfc0785226db6d24918512feec4e9281db8c 100644
--- a/Tests/Layers/GenericApproachDescriptorTests.cpp
+++ b/Tests/Layers/GenericApproachDescriptorTests.cpp
@@ -29,7 +29,7 @@ namespace Acts {
 
 namespace Test {
   namespace Layers {
-    BOOST_AUTO_TEST_SUITE(Layers);
+    BOOST_AUTO_TEST_SUITE(Layers)
 
     /// Unit test for creating compliant/non-compliant GenericApproachDescriptor
     /// object
@@ -76,7 +76,7 @@ namespace Test {
       BOOST_CHECK(&(approachDescriptor.containedSurfaces()) == &someSurfaces);
     }
 
-    BOOST_AUTO_TEST_SUITE_END();
+    BOOST_AUTO_TEST_SUITE_END()
   }  // end of namespace Layers
 }  // end of namespace Test
 
diff --git a/Tests/Layers/LayerTests.cpp b/Tests/Layers/LayerTests.cpp
index 6972e5e089f5a81ea42ff7c2c57bf849017abf67..ac93613dbb4dde6dd06e366609cfb4fd8ddb8ae1 100644
--- a/Tests/Layers/LayerTests.cpp
+++ b/Tests/Layers/LayerTests.cpp
@@ -33,7 +33,7 @@ namespace Acts {
 
 namespace Test {
   namespace Layers {
-    BOOST_AUTO_TEST_SUITE(Layers);
+    BOOST_AUTO_TEST_SUITE(Layers)
 
     /// Unit test for creating compliant/non-compliant Layer object
     BOOST_AUTO_TEST_CASE(LayerConstruction)
@@ -141,7 +141,7 @@ namespace Test {
       BOOST_TEST(layerStub.detectorElements().size() == 0u);
     }
 
-    BOOST_AUTO_TEST_SUITE_END();
+    BOOST_AUTO_TEST_SUITE_END()
   }  // end of namespace Layers
 }  // end of namespace Test
 
diff --git a/Tests/Layers/NavigationLayerTests.cpp b/Tests/Layers/NavigationLayerTests.cpp
index 39980837dc4467ae957447736bab1adb50f58dc3..f7b2e5e917dc490eb3852ae7f4bc747d497f45d8 100644
--- a/Tests/Layers/NavigationLayerTests.cpp
+++ b/Tests/Layers/NavigationLayerTests.cpp
@@ -31,7 +31,7 @@ namespace Acts {
 
 namespace Test {
   namespace Layers {
-    BOOST_AUTO_TEST_SUITE(Layers);
+    BOOST_AUTO_TEST_SUITE(Layers)
 
     /// Unit test for creating compliant/non-compliant NavigationLayer object
     BOOST_AUTO_TEST_CASE(NavigationLayerConstruction)
@@ -71,7 +71,7 @@ namespace Test {
       BOOST_CHECK(pNavigationLayer->resolve(true, true, true) == false);
     }
 
-    BOOST_AUTO_TEST_SUITE_END();
+    BOOST_AUTO_TEST_SUITE_END()
   }  // end of namespace Layers
 }  // end of namespace Test
 
diff --git a/Tests/Layers/PlaneLayerTests.cpp b/Tests/Layers/PlaneLayerTests.cpp
index fd625da48729e06edd662796f678d9173a6bde58..237407d32f5a2d92d91a6ff449926eddca6a0a0c 100644
--- a/Tests/Layers/PlaneLayerTests.cpp
+++ b/Tests/Layers/PlaneLayerTests.cpp
@@ -34,7 +34,7 @@ namespace Acts {
 
 namespace Test {
   namespace Layers {
-    BOOST_AUTO_TEST_SUITE(Layers);
+    BOOST_AUTO_TEST_SUITE(Layers)
 
     /// Unit test for creating compliant/non-compliant PlaneLayer object
     BOOST_AUTO_TEST_CASE(PlaneLayerConstruction)
@@ -99,7 +99,7 @@ namespace Test {
                  == std::string("Acts::PlaneSurface"));
     }
 
-    BOOST_AUTO_TEST_SUITE_END();
+    BOOST_AUTO_TEST_SUITE_END()
   }  // end of namespace Layers
 }  // end of namespace Test
 
diff --git a/Tests/MagneticField/ConstantBFieldTests.cpp b/Tests/MagneticField/ConstantBFieldTests.cpp
index 362691678fda689016748b4d9a053f7d8d7071d1..41609ee82417b21fb78c82a4916be9aa74fdf609 100644
--- a/Tests/MagneticField/ConstantBFieldTests.cpp
+++ b/Tests/MagneticField/ConstantBFieldTests.cpp
@@ -47,6 +47,7 @@ namespace Test {
                        bz,
                        index)
   {
+    (void)index;
     BOOST_TEST_CONTEXT("Eigen interface")
     {
       const Vector3D       Btrue(bx, by, bz);
@@ -93,6 +94,7 @@ namespace Test {
                        bz,
                        index)
   {
+    (void)index;
     ConstantBField BField(0, 0, 0);
 
     BOOST_TEST_CONTEXT("Eigen interface")
diff --git a/Tests/Propagator/RungeKuttaEngineTests.cpp b/Tests/Propagator/RungeKuttaEngineTests.cpp
index 1f3451a28d5deb27727da858f719d474ea8de25a..74e6c11a0cb7e97626610afd40887ace574bcbf3 100644
--- a/Tests/Propagator/RungeKuttaEngineTests.cpp
+++ b/Tests/Propagator/RungeKuttaEngineTests.cpp
@@ -37,7 +37,7 @@ namespace Acts {
 
 namespace Test {
 
-  BOOST_AUTO_TEST_SUITE(RungeKuttaEngine);
+  BOOST_AUTO_TEST_SUITE(RungeKuttaEngine)
 
   /// This tests does a propagation through
   /// a magnetic field with 2 Tesla - at nominal incidence
@@ -188,7 +188,7 @@ namespace Test {
       BOOST_TEST_MESSAGE("Propagations failed !");
   }
 
-  BOOST_AUTO_TEST_SUITE_END();
+  BOOST_AUTO_TEST_SUITE_END()
 
 }  // end of namespace Test
 }  // end of namespace Acts
diff --git a/Tests/Surfaces/BoundaryCheckBenchmark.cpp b/Tests/Surfaces/BoundaryCheckBenchmark.cpp
index 651bcfae1f47ee9587415e99d26d6a2afc858cb5..99b39c667e6cb0850cc323751420fece407e5bd6 100644
--- a/Tests/Surfaces/BoundaryCheckBenchmark.cpp
+++ b/Tests/Surfaces/BoundaryCheckBenchmark.cpp
@@ -92,7 +92,7 @@ struct StopWatch
 };
 
 int
-main(int argc, char* argv[])
+main(int /*argc*/, char** /*argv[]*/)
 {
   using std::cout;
 
diff --git a/Tests/Surfaces/BoundaryCheckTests.cpp b/Tests/Surfaces/BoundaryCheckTests.cpp
index 59b4d3bda8a393fece6b35b359b696b9fcd3ba4b..6d8f6ede97c7a945a255afb803cc9d9b0e95debb 100644
--- a/Tests/Surfaces/BoundaryCheckTests.cpp
+++ b/Tests/Surfaces/BoundaryCheckTests.cpp
@@ -23,7 +23,7 @@
 
 namespace Acts {
 namespace Test {
-  BOOST_AUTO_TEST_SUITE(Surfaces);
+  BOOST_AUTO_TEST_SUITE(Surfaces)
   // See: https://en.wikipedia.org/wiki/Bounding_volume
   //
   // Aligned box w/ simple check
@@ -81,6 +81,6 @@ namespace Test {
     BOOST_TEST(check.isInside({0, 4}, vertices) == true);
     BOOST_TEST(check.isInside({0, 5}, vertices) == false);
   }
-  BOOST_AUTO_TEST_SUITE_END();
+  BOOST_AUTO_TEST_SUITE_END()
 }  // end of namespace Test
 }  // end of namespace Acts
diff --git a/Tests/Surfaces/ConeBoundsTests.cpp b/Tests/Surfaces/ConeBoundsTests.cpp
index 5bb74ab32aa1fab11be2121c7efc451ea7991a34..881e665ba0211f1d3552024efe616dbb23d1c83e 100644
--- a/Tests/Surfaces/ConeBoundsTests.cpp
+++ b/Tests/Surfaces/ConeBoundsTests.cpp
@@ -36,7 +36,7 @@ const double NaN = std::numeric_limits<double>::quiet_NaN();
 namespace Acts {
 
 namespace Test {
-  BOOST_AUTO_TEST_SUITE(Surfaces);
+  BOOST_AUTO_TEST_SUITE(Surfaces)
   /// Unit test for creating compliant/non-compliant ConeBounds object
   BOOST_AUTO_TEST_CASE(ConeBoundsConstruction)
   {
@@ -126,7 +126,7 @@ namespace Test {
     assignedConeBounds = originalConeBounds;
     BOOST_TEST(assignedConeBounds == originalConeBounds);
   }
-  BOOST_AUTO_TEST_SUITE_END();
+  BOOST_AUTO_TEST_SUITE_END()
 
 }  // end of namespace Test
 
diff --git a/Tests/Surfaces/ConeSurfaceTests.cpp b/Tests/Surfaces/ConeSurfaceTests.cpp
index 9ab124c93cf31f36b602b117ad5a2cacf06c4ff6..4c4c235b109d42bc5b9a188c897571454e6ac80a 100644
--- a/Tests/Surfaces/ConeSurfaceTests.cpp
+++ b/Tests/Surfaces/ConeSurfaceTests.cpp
@@ -31,7 +31,7 @@ const double NaN = std::numeric_limits<double>::quiet_NaN();
 namespace Acts {
 
 namespace Test {
-  BOOST_AUTO_TEST_SUITE(ConeSurfaces);
+  BOOST_AUTO_TEST_SUITE(ConeSurfaces)
   /// Unit test for creating compliant/non-compliant ConeSurface object
   BOOST_AUTO_TEST_CASE(ConeSurfaceConstruction)
   {
@@ -204,7 +204,7 @@ namespace Test {
     /// Test equality of assigned to original
     BOOST_TEST(assignedConeSurface == coneSurfaceObject);
   }
-  BOOST_AUTO_TEST_SUITE_END();
+  BOOST_AUTO_TEST_SUITE_END()
 
 }  // end of namespace Test
 
diff --git a/Tests/Surfaces/CylinderBoundsTests.cpp b/Tests/Surfaces/CylinderBoundsTests.cpp
index 2a15ce7dda6d1d6b9d9a3b74a03924c5b05d18e3..584337e981ff3318e930d9075457da49be931d31 100644
--- a/Tests/Surfaces/CylinderBoundsTests.cpp
+++ b/Tests/Surfaces/CylinderBoundsTests.cpp
@@ -28,7 +28,7 @@ const double NaN = std::numeric_limits<double>::quiet_NaN();
 namespace Acts {
 
 namespace Test {
-  BOOST_AUTO_TEST_SUITE(Surfaces);
+  BOOST_AUTO_TEST_SUITE(Surfaces)
   /// Unit test for creating compliant/non-compliant CylinderBounds object
   BOOST_AUTO_TEST_CASE(CylinderBoundsConstruction)
   {
@@ -49,7 +49,7 @@ namespace Test {
   }
 
   /// Unit tests for CylinderBounds properties
-  BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(CylinderBoundsProperties, 4);
+  BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(CylinderBoundsProperties, 4)
   BOOST_AUTO_TEST_CASE(CylinderBoundsProperties)
   {
     // CylinderBounds object of radius 0.5 and halfz 20
@@ -132,7 +132,7 @@ namespace Test {
     BOOST_TEST(assignedCylinderBounds.r() == cylinderBoundsObject.r());
     BOOST_TEST(assignedCylinderBounds == cylinderBoundsObject);
   }
-  BOOST_AUTO_TEST_SUITE_END();
+  BOOST_AUTO_TEST_SUITE_END()
 
 }  // end of namespace Test
 
diff --git a/Tests/Surfaces/CylinderSurfaceTests.cpp b/Tests/Surfaces/CylinderSurfaceTests.cpp
index 86391bae3c3c531ca678b9454b20139fa73d5ee0..3577e1c6577bb3eb9db253c313713fece88dcc30 100644
--- a/Tests/Surfaces/CylinderSurfaceTests.cpp
+++ b/Tests/Surfaces/CylinderSurfaceTests.cpp
@@ -22,6 +22,7 @@
 #include "ACTS/Surfaces/CylinderSurface.hpp"
 #include "ACTS/Surfaces/RectangleBounds.hpp"
 #include "ACTS/Utilities/Definitions.hpp"
+#include "DetectorElementStub.hpp"
 
 namespace tt = boost::test_tools;
 using boost::test_tools::output_test_stream;
@@ -31,7 +32,7 @@ const double NaN = std::numeric_limits<double>::quiet_NaN();
 namespace Acts {
 
 namespace Test {
-  BOOST_AUTO_TEST_SUITE(CylinderSurfaces);
+  BOOST_AUTO_TEST_SUITE(CylinderSurfaces)
   /// Unit test for creating compliant/non-compliant CylinderSurface object
   BOOST_AUTO_TEST_CASE(CylinderSurfaceConstruction)
   {
@@ -209,7 +210,7 @@ namespace Test {
     /// Test equality of assigned to original
     BOOST_TEST(assignedCylinderSurface == cylinderSurfaceObject);
   }
-  BOOST_AUTO_TEST_SUITE_END();
+  BOOST_AUTO_TEST_SUITE_END()
 
 }  // end of namespace Test
 
diff --git a/Tests/Surfaces/DiamondBoundsTests.cpp b/Tests/Surfaces/DiamondBoundsTests.cpp
index b0b2fb3c3a30399121427947d0f37bde756a4b1b..0899dbf42afabf114e694bcb8e2e16a717825989 100644
--- a/Tests/Surfaces/DiamondBoundsTests.cpp
+++ b/Tests/Surfaces/DiamondBoundsTests.cpp
@@ -20,13 +20,14 @@
 //
 #include "ACTS/Surfaces/DiamondBounds.hpp"
 #include "ACTS/Utilities/Definitions.hpp"
+#include "ACTS/Utilities/ThrowAssert.hpp"
 //
 #include <limits>
 
 namespace Acts {
 
 namespace Test {
-  BOOST_AUTO_TEST_SUITE(Surfaces);
+  BOOST_AUTO_TEST_SUITE(Surfaces)
   /// Unit test for creating compliant/non-compliant DiamondBounds object
   BOOST_AUTO_TEST_CASE(DiamondBoundsConstruction)
   {
@@ -143,7 +144,7 @@ namespace Test {
     assignedDiamondBoundsObject = diamondBoundsObject;
     BOOST_TEST(assignedDiamondBoundsObject == diamondBoundsObject);
   }
-  BOOST_AUTO_TEST_SUITE_END();
+  BOOST_AUTO_TEST_SUITE_END()
 
 }  // end of namespace Test
 
diff --git a/Tests/Surfaces/DiscSurfaceTests.cpp b/Tests/Surfaces/DiscSurfaceTests.cpp
index d239397d43c2a376738dfdc2b9782bee770a12f3..e5822d81e6c65527ba945043469cc79580317668 100644
--- a/Tests/Surfaces/DiscSurfaceTests.cpp
+++ b/Tests/Surfaces/DiscSurfaceTests.cpp
@@ -35,7 +35,7 @@ namespace Acts {
 namespace Test {
   // using boost::test_tools::output_test_stream;
 
-  BOOST_AUTO_TEST_SUITE(Surfaces);
+  BOOST_AUTO_TEST_SUITE(Surfaces)
   /// Unit tests for creating DiscSurface object
   BOOST_AUTO_TEST_CASE(DiscSurface_constructors_test)
   {
@@ -205,7 +205,7 @@ namespace Test {
     BOOST_CHECK_NO_THROW(assignedDisc = discSurfaceObject);
     BOOST_CHECK(assignedDisc == discSurfaceObject);
   }
-  BOOST_AUTO_TEST_SUITE_END();
+  BOOST_AUTO_TEST_SUITE_END()
 
 }  // end of namespace Test
 
diff --git a/Tests/Surfaces/DiscTrapezoidalBoundsTests.cpp b/Tests/Surfaces/DiscTrapezoidalBoundsTests.cpp
index 93ead6b25e000866a5c08912a41526ed81393147..8601cd9721d6557250fdbed50b01f903278bc0ed 100644
--- a/Tests/Surfaces/DiscTrapezoidalBoundsTests.cpp
+++ b/Tests/Surfaces/DiscTrapezoidalBoundsTests.cpp
@@ -28,7 +28,7 @@ const double NaN = std::numeric_limits<double>::quiet_NaN();
 namespace Acts {
 
 namespace Test {
-  BOOST_AUTO_TEST_SUITE(Surfaces);
+  BOOST_AUTO_TEST_SUITE(Surfaces)
   /// Unit tests for DiscTrapezoidalBounds constrcuctors
   BOOST_AUTO_TEST_CASE(DiscTrapezoidalBoundsConstruction)
   {
@@ -135,7 +135,7 @@ namespace Test {
     BOOST_TEST(assignedDiscTrapezoidalBoundsObject
                == discTrapezoidalBoundsObject);
   }
-  BOOST_AUTO_TEST_SUITE_END();
+  BOOST_AUTO_TEST_SUITE_END()
 
 }  // end of namespace Test
 
diff --git a/Tests/Surfaces/EllipseBoundsTests.cpp b/Tests/Surfaces/EllipseBoundsTests.cpp
index 8a0d6b148f0fc5c34b4292ba256917ae4bcb50ef..ee2a1e89a4075392baac44860d24b01f4bf70d5c 100644
--- a/Tests/Surfaces/EllipseBoundsTests.cpp
+++ b/Tests/Surfaces/EllipseBoundsTests.cpp
@@ -28,7 +28,7 @@ const double NaN = std::numeric_limits<double>::quiet_NaN();
 namespace Acts {
 
 namespace Test {
-  BOOST_AUTO_TEST_SUITE(Surfaces);
+  BOOST_AUTO_TEST_SUITE(Surfaces)
   /// Unit test for creating compliant/non-compliant EllipseBounds object
   BOOST_AUTO_TEST_CASE(EllipseBoundsConstruction)
   {
@@ -51,7 +51,7 @@ namespace Test {
   }
 
   /// Unit tests for EllipseBounds properties
-  BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(CylinderBoundsProperties, 1);
+  BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(CylinderBoundsProperties, 1)
   BOOST_AUTO_TEST_CASE(EllipseBoundsProperties)
   {
     double minRad1(10.), minRad2(15.), maxRad1(15.), maxRad2(20.),
@@ -137,7 +137,7 @@ namespace Test {
     assignedEllipseBoundsObject = ellipseBoundsObject;
     BOOST_TEST(assignedEllipseBoundsObject == ellipseBoundsObject);
   }
-  BOOST_AUTO_TEST_SUITE_END();
+  BOOST_AUTO_TEST_SUITE_END()
 
 }  // end of namespace Test
 
diff --git a/Tests/Surfaces/InfiniteBoundsTests.cpp b/Tests/Surfaces/InfiniteBoundsTests.cpp
index 3d33dec59a529765bdc0865d6ece14c56203e964..aa996539d26507aa85379e056e50877f14261cd0 100644
--- a/Tests/Surfaces/InfiniteBoundsTests.cpp
+++ b/Tests/Surfaces/InfiniteBoundsTests.cpp
@@ -24,7 +24,7 @@
 namespace Acts {
 
 namespace Test {
-  BOOST_AUTO_TEST_SUITE(Surfaces);
+  BOOST_AUTO_TEST_SUITE(Surfaces)
   /// Unit test for creating compliant/non-compliant InfiniteBounds object
   BOOST_AUTO_TEST_CASE(InfiniteBoundsConstruction)
   {
@@ -66,7 +66,7 @@ namespace Test {
         dumpOuput.is_equal("Acts::InfiniteBounds ... boundless surface\n"));
   }
 
-  BOOST_AUTO_TEST_SUITE_END();
+  BOOST_AUTO_TEST_SUITE_END()
 
 }  // end of namespace Test
 
diff --git a/Tests/Surfaces/LineBoundsTests.cpp b/Tests/Surfaces/LineBoundsTests.cpp
index 356f613448e5d2d52f186427ab63c4feb2399cf1..98ce9628128afc0933accef469b1393223477fa0 100644
--- a/Tests/Surfaces/LineBoundsTests.cpp
+++ b/Tests/Surfaces/LineBoundsTests.cpp
@@ -24,7 +24,7 @@
 namespace Acts {
 
 namespace Test {
-  BOOST_AUTO_TEST_SUITE(Surfaces);
+  BOOST_AUTO_TEST_SUITE(Surfaces)
   /// Unit test for creating compliant/non-compliant LineBounds object
   BOOST_AUTO_TEST_CASE(LineBoundsConstruction)
   {
@@ -45,7 +45,7 @@ namespace Test {
   }
 
   /// Unit tests for LineBounds properties
-  BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(LineBoundsProperties, 1);
+  BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(LineBoundsProperties, 1)
   BOOST_AUTO_TEST_CASE(LineBoundsProperties)
   {
     // LineBounds object of radius 0.5 and halfz 20
@@ -98,7 +98,7 @@ namespace Test {
     BOOST_TEST(assignedLineBounds.halflengthZ()
                == lineBoundsObject.halflengthZ());
   }
-  BOOST_AUTO_TEST_SUITE_END();
+  BOOST_AUTO_TEST_SUITE_END()
 
 }  // end of namespace Test
 
diff --git a/Tests/Surfaces/LineSurfaceStub.hpp b/Tests/Surfaces/LineSurfaceStub.hpp
index 4731e752868fe615ad63aee7d8ff1a3b06276fae..800a435c5c5408e53ebdfc88ee1d0d635e3b671f 100644
--- a/Tests/Surfaces/LineSurfaceStub.hpp
+++ b/Tests/Surfaces/LineSurfaceStub.hpp
@@ -24,32 +24,34 @@ public:
   LineSurfaceStub(std::shared_ptr<const Transform3D> htrans,
                   double                             radius,
                   double                             halfz)
-    : LineSurface(htrans, radius, halfz)
+    : GeometryObject(), LineSurface(htrans, radius, halfz)
   { /* nop */
   }
   //
   LineSurfaceStub(std::shared_ptr<const Transform3D> htrans,
                   std::shared_ptr<const LineBounds>  lbounds = nullptr)
-    : LineSurface(htrans, lbounds)
+    : GeometryObject(), LineSurface(htrans, lbounds)
   { /*nop */
   }
   //
   LineSurfaceStub(std::shared_ptr<const LineBounds> lbounds,
                   const DetectorElementBase&        detelement,
                   const Identifier&                 identifier = Identifier())
-    : LineSurface(lbounds, detelement, identifier)
+    : GeometryObject(), LineSurface(lbounds, detelement, identifier)
   { /* nop */
   }
   //
-  LineSurfaceStub(const LineSurfaceStub& ls) : LineSurface(ls) { /* nop */}
+  LineSurfaceStub(const LineSurfaceStub& ls) : GeometryObject(), LineSurface(ls)
+  { /* nop */
+  }
   //
   LineSurfaceStub(const LineSurfaceStub& ls, const Transform3D& t)
-    : LineSurface(ls, t)
+    : GeometryObject(), LineSurface(ls, t)
   { /* nop */
   }
   /// pure virtual functions of baseclass implemented here
   Surface*
-  clone(const Transform3D* shift = nullptr) const final
+  clone(const Transform3D* /*shift = nullptr*/) const final
   {
     return nullptr;
   }
diff --git a/Tests/Surfaces/LineSurfaceTests.cpp b/Tests/Surfaces/LineSurfaceTests.cpp
index eeb5a3acca0490d244f67f06149f3dd018c91ddb..2ca835df07922dbbda6c345e808d630824f01ab8 100644
--- a/Tests/Surfaces/LineSurfaceTests.cpp
+++ b/Tests/Surfaces/LineSurfaceTests.cpp
@@ -34,7 +34,7 @@ namespace Acts {
 namespace Test {
   // using boost::test_tools::output_test_stream;
 
-  BOOST_AUTO_TEST_SUITE(Surfaces);
+  BOOST_AUTO_TEST_SUITE(Surfaces)
   /// Unit test for creating compliant/non-compliant LineSurface object
   BOOST_AUTO_TEST_CASE(LineSurface_Constructors_test)
   {
@@ -174,7 +174,7 @@ namespace Test {
                "LineSurfaces are equal value after assignment");  // operator ==
                                                                   // from base
   }
-  BOOST_AUTO_TEST_SUITE_END();
+  BOOST_AUTO_TEST_SUITE_END()
 
 }  // end of namespace Test
 
diff --git a/Tests/Surfaces/PerigeeSurfaceTests.cpp b/Tests/Surfaces/PerigeeSurfaceTests.cpp
index 8a87ac4743744cf11ad30eefca30947a58009755..3e02b2cd9df9c94d4f6549fec776d4e42bc0992f 100644
--- a/Tests/Surfaces/PerigeeSurfaceTests.cpp
+++ b/Tests/Surfaces/PerigeeSurfaceTests.cpp
@@ -33,7 +33,7 @@ const double NaN = std::numeric_limits<double>::quiet_NaN();
 namespace Acts {
 
 namespace Test {
-  BOOST_AUTO_TEST_SUITE(PerigeeSurfaces);
+  BOOST_AUTO_TEST_SUITE(PerigeeSurfaces)
   /// Unit test for creating compliant/non-compliant PerigeeSurface object
   BOOST_AUTO_TEST_CASE(PerigeeSurfaceConstruction)
   {
@@ -100,7 +100,7 @@ namespace Test {
     /// Test equality of assigned to original
     BOOST_TEST(assignedPerigeeSurface == perigeeSurfaceObject);
   }
-  BOOST_AUTO_TEST_SUITE_END();
+  BOOST_AUTO_TEST_SUITE_END()
 
 }  // end of namespace Test
 
diff --git a/Tests/Surfaces/PlaneSurfaceTests.cpp b/Tests/Surfaces/PlaneSurfaceTests.cpp
index 95ea58f7cd614c3eff1d97298397d6cb2f607a11..e8a578b6a29df1128703c2cfd2180157c4088c9b 100644
--- a/Tests/Surfaces/PlaneSurfaceTests.cpp
+++ b/Tests/Surfaces/PlaneSurfaceTests.cpp
@@ -21,6 +21,7 @@
 #include "ACTS/Surfaces/PlaneSurface.hpp"
 #include "ACTS/Surfaces/RectangleBounds.hpp"
 #include "ACTS/Utilities/Definitions.hpp"
+#include "DetectorElementStub.hpp"
 
 namespace tt = boost::test_tools;
 using boost::test_tools::output_test_stream;
@@ -29,7 +30,7 @@ namespace utf = boost::unit_test;
 namespace Acts {
 
 namespace Test {
-  BOOST_AUTO_TEST_SUITE(PlaneSurfaces);
+  BOOST_AUTO_TEST_SUITE(PlaneSurfaces)
   /// Unit test for creating compliant/non-compliant PlaneSurface object
   BOOST_AUTO_TEST_CASE(PlaneSurfaceConstruction)
   {
@@ -177,7 +178,7 @@ namespace Test {
     /// Test equality of assigned to original
     BOOST_TEST(assignedPlaneSurface == PlaneSurfaceObject);
   }
-  BOOST_AUTO_TEST_SUITE_END();
+  BOOST_AUTO_TEST_SUITE_END()
 
 }  // end of namespace Test
 
diff --git a/Tests/Surfaces/RadialBoundsTests.cpp b/Tests/Surfaces/RadialBoundsTests.cpp
index 9a87fea511b2ab405262ad120b0d36a9bd0db1dd..eacb83ce5a88cbf6103f13f8c32b56bd24c5796d 100644
--- a/Tests/Surfaces/RadialBoundsTests.cpp
+++ b/Tests/Surfaces/RadialBoundsTests.cpp
@@ -28,7 +28,7 @@ const double NaN = std::numeric_limits<double>::quiet_NaN();
 namespace Acts {
 
 namespace Test {
-  BOOST_AUTO_TEST_SUITE(Surfaces);
+  BOOST_AUTO_TEST_SUITE(Surfaces)
   /// Unit tests for RadialBounds constrcuctors
   BOOST_AUTO_TEST_CASE(RadialBoundsConstruction)
   {
@@ -109,7 +109,7 @@ namespace Test {
     assignedRadialBoundsObject = radialBoundsObject;
     BOOST_TEST(assignedRadialBoundsObject == radialBoundsObject);
   }
-  BOOST_AUTO_TEST_SUITE_END();
+  BOOST_AUTO_TEST_SUITE_END()
 
 }  // end of namespace Test
 
diff --git a/Tests/Surfaces/RectangleBoundsTests.cpp b/Tests/Surfaces/RectangleBoundsTests.cpp
index 8261a8b57c8ddd49720ec811d7b44b391dceb27e..eb2886a94eb7e12302aa80671cb1756cf3a8e040 100644
--- a/Tests/Surfaces/RectangleBoundsTests.cpp
+++ b/Tests/Surfaces/RectangleBoundsTests.cpp
@@ -45,7 +45,7 @@ namespace Test {
     const double tol  = 1e-9;
     return ((dif0 < tol) and (dif1 < tol));
   }
-  BOOST_AUTO_TEST_SUITE(Surfaces);
+  BOOST_AUTO_TEST_SUITE(Surfaces)
   /// Unit test for creating compliant/non-compliant RectangleBounds object
   BOOST_AUTO_TEST_CASE(RectangleBoundsConstruction)
   {
@@ -121,7 +121,7 @@ namespace Test {
     BOOST_TEST(originalVertices == clonedVertices);
     delete rectB;
   }
-  BOOST_AUTO_TEST_SUITE_END();
+  BOOST_AUTO_TEST_SUITE_END()
 }  // end of namespace Test
 
 }  // end of namespace Acts
diff --git a/Tests/Surfaces/StrawSurfaceTests.cpp b/Tests/Surfaces/StrawSurfaceTests.cpp
index e863db40e7e2cd370ed6a5b8b8d7dff7ad64b51e..fc9c2255e2933c589e93dcfbc11e29f752c6ed16 100644
--- a/Tests/Surfaces/StrawSurfaceTests.cpp
+++ b/Tests/Surfaces/StrawSurfaceTests.cpp
@@ -32,7 +32,7 @@ const double NaN = std::numeric_limits<double>::quiet_NaN();
 namespace Acts {
 
 namespace Test {
-  BOOST_AUTO_TEST_SUITE(StrawSurfaces);
+  BOOST_AUTO_TEST_SUITE(StrawSurfaces)
   /// Unit test for creating compliant/non-compliant StrawSurface object
   BOOST_AUTO_TEST_CASE(StrawSurfaceConstruction)
   {
@@ -122,7 +122,7 @@ namespace Test {
     /// Test equality of assigned to original
     BOOST_TEST(assignedStrawSurface == strawSurfaceObject);
   }
-  BOOST_AUTO_TEST_SUITE_END();
+  BOOST_AUTO_TEST_SUITE_END()
 
 }  // end of namespace Test
 
diff --git a/Tests/Surfaces/SurfaceBoundsTests.cpp b/Tests/Surfaces/SurfaceBoundsTests.cpp
index 2703bf355ee5fb6613b296d72d97ca0a7ba0ac10..e35e81fe2a32f97e37afa93a40bca43f2a92c9d5 100644
--- a/Tests/Surfaces/SurfaceBoundsTests.cpp
+++ b/Tests/Surfaces/SurfaceBoundsTests.cpp
@@ -51,12 +51,12 @@ public:
     return m_values;
   }
   bool
-  inside(const Vector2D& lpos, const BoundaryCheck& bcheck) const final
+  inside(const Vector2D& /*lpos*/, const BoundaryCheck& /*bcheck*/) const final
   {
     return true;
   }
   double
-  distanceToBoundary(const Vector2D& lpos) const final
+  distanceToBoundary(const Vector2D& /*lpos*/) const final
   {
     return 10.;
   }
@@ -72,7 +72,7 @@ private:
 };
 
 namespace Test {
-  BOOST_AUTO_TEST_SUITE(Surfaces);
+  BOOST_AUTO_TEST_SUITE(Surfaces)
   /// Unit test for creating compliant/non-compliant SurfaceBounds object
   BOOST_AUTO_TEST_CASE(SurfaceBoundsConstruction)
   {
@@ -100,7 +100,7 @@ namespace Test {
     BOOST_TEST(surface == assignedSurface);
     BOOST_TEST(surface.valueStore() == assignedSurface.valueStore());
   }
-  BOOST_AUTO_TEST_SUITE_END();
+  BOOST_AUTO_TEST_SUITE_END()
 
 }  // end of namespace Test
 
diff --git a/Tests/Surfaces/SurfaceStub.hpp b/Tests/Surfaces/SurfaceStub.hpp
index 638402fc4d38a7d8837decf7194368080d88c9ff..00acaf038545a5ba3b3a45e23df63b162bf67c06 100644
--- a/Tests/Surfaces/SurfaceStub.hpp
+++ b/Tests/Surfaces/SurfaceStub.hpp
@@ -19,16 +19,16 @@ class SurfaceStub : public Surface
 {
 public:
   SurfaceStub(std::shared_ptr<const Transform3D> htrans = nullptr)
-    : Surface(htrans)
+    : GeometryObject(), Surface(htrans)
   {
   }
   SurfaceStub(const SurfaceStub& sf, const Transform3D& transf)
-    : Surface(sf, transf)
+    : GeometryObject(), Surface(sf, transf)
   {
   }
   SurfaceStub(const DetectorElementBase& detelement,
               const Identifier&          id = Identifier())
-    : Surface(detelement, id)
+    : GeometryObject(), Surface(detelement, id)
   {
   }
 
@@ -36,7 +36,7 @@ public:
 
   /// Implicit constructor
   Surface*
-  clone(const Transform3D* shift = nullptr) const final
+  clone(const Transform3D* /*shift = nullptr*/) const final
   {
     return nullptr;
   }
@@ -50,7 +50,7 @@ public:
 
   /// Return method for the normal vector of the surface
   const Vector3D
-  normal(const Vector2D& lpos) const final
+  normal(const Vector2D& /*lpos*/) const final
   {
     return Vector3D{0., 0., 0.};
   }
@@ -64,18 +64,18 @@ public:
 
   /// Local to global transformation
   void
-  localToGlobal(const Vector2D& lpos,
-                const Vector3D& gmom,
-                Vector3D&       gpos) const final
+  localToGlobal(const Vector2D& /*lpos*/,
+                const Vector3D& /*gmom*/,
+                Vector3D& /*gpos*/) const final
   {
     // nop
   }
 
   /// Global to local transformation
   bool
-  globalToLocal(const Vector3D& gpos,
-                const Vector3D& gmom,
-                Vector2D&       lpos) const final
+  globalToLocal(const Vector3D& /*gpos*/,
+                const Vector3D& /*gmom*/,
+                Vector2D& lpos) const final
   {
     lpos = Vector2D{20., 20.};
     return true;
@@ -83,25 +83,24 @@ public:
 
   /// Calculation of the path correction for incident
   double
-  pathCorrection(const Vector3D& gpos, const Vector3D& gmom) const final
+  pathCorrection(const Vector3D& /*gpos*/, const Vector3D& /*gmom*/) const final
   {
     return 0.0;
   }
 
   /// Straight line intersection schema from parameters
   Intersection
-  intersectionEstimate(const Vector3D&      gpos,
-                       const Vector3D&      gdir,
-                       bool                 forceDir = false,
-                       const BoundaryCheck& bcheck   = false) const final
+  intersectionEstimate(const Vector3D& /*gpos*/,
+                       const Vector3D& /*gdir*/,
+                       bool /*forceDir = false*/,
+                       const BoundaryCheck& /*bcheck   = false*/) const final
   {
     const Intersection is{Vector3D{1, 1, 1}, 20., true};
     return is;
   }
 
   /// Inherited from GeometryObject base
-  const Vector3D
-  binningPosition(BinningValue bValue) const final
+  const Vector3D binningPosition(BinningValue /*bValue*/) const final
   {
     const Vector3D v{0.0, 0.0, 0.0};
     return v;
diff --git a/Tests/Surfaces/SurfaceTests.cpp b/Tests/Surfaces/SurfaceTests.cpp
index 73d3693b126f4f267dc18e8c3e55bceb315fd5ce..2f237606159b70d096c81115d13828772e579002 100644
--- a/Tests/Surfaces/SurfaceTests.cpp
+++ b/Tests/Surfaces/SurfaceTests.cpp
@@ -58,7 +58,7 @@ private:
 };
 
 namespace Test {
-  BOOST_AUTO_TEST_SUITE(Surfaces);
+  BOOST_AUTO_TEST_SUITE(Surfaces)
 
   /// todo: make test fixture; separate out different cases
 
@@ -208,7 +208,7 @@ namespace Test {
     BOOST_TEST(unequalSurface,
                "Different transform surfaces should be unequal");
   }
-  BOOST_AUTO_TEST_SUITE_END();
+  BOOST_AUTO_TEST_SUITE_END()
 
 }  // end of namespace Test
 
diff --git a/Tests/Surfaces/TrapezoidBoundsTests.cpp b/Tests/Surfaces/TrapezoidBoundsTests.cpp
index 096c67c6d04b952c2f0e959172916bc218a9f83b..7e86b59d026278c1d52f224f1b06ea404c2661a4 100644
--- a/Tests/Surfaces/TrapezoidBoundsTests.cpp
+++ b/Tests/Surfaces/TrapezoidBoundsTests.cpp
@@ -28,7 +28,7 @@ const double NaN = std::numeric_limits<double>::quiet_NaN();
 namespace Acts {
 
 namespace Test {
-  BOOST_AUTO_TEST_SUITE(Surfaces);
+  BOOST_AUTO_TEST_SUITE(Surfaces)
   /// Unit test for creating compliant/non-compliant TrapezoidBounds object
   BOOST_AUTO_TEST_CASE(TrapezoidBoundsConstruction)
   {
@@ -118,7 +118,7 @@ namespace Test {
     assignedTrapezoidBoundsObject = trapezoidBoundsObject;
     BOOST_TEST(assignedTrapezoidBoundsObject == trapezoidBoundsObject);
   }
-  BOOST_AUTO_TEST_SUITE_END();
+  BOOST_AUTO_TEST_SUITE_END()
 
 }  // end of namespace Test
 
diff --git a/Tests/Surfaces/TriangleBoundsTests.cpp b/Tests/Surfaces/TriangleBoundsTests.cpp
index 1729bee42c4817f7e792dff6372e4e30e0bd4093..46343a1f485eb7d2ae8a4f15d3a3f4f04b4a49bf 100644
--- a/Tests/Surfaces/TriangleBoundsTests.cpp
+++ b/Tests/Surfaces/TriangleBoundsTests.cpp
@@ -28,7 +28,7 @@ const double NaN = std::numeric_limits<double>::quiet_NaN();
 namespace Acts {
 
 namespace Test {
-  BOOST_AUTO_TEST_SUITE(Surfaces);
+  BOOST_AUTO_TEST_SUITE(Surfaces)
   /// Unit test for creating compliant/non-compliant TriangleBounds object
   BOOST_AUTO_TEST_CASE(TriangleBoundsConstruction)
   {
@@ -112,7 +112,7 @@ namespace Test {
     assignedTriangleBoundsObject = triangleBoundsObject;
     BOOST_TEST(assignedTriangleBoundsObject == triangleBoundsObject);
   }
-  BOOST_AUTO_TEST_SUITE_END();
+  BOOST_AUTO_TEST_SUITE_END()
 
 }  // end of namespace Test
 
diff --git a/Tests/Tools/CylinderVolumeBuilderTests.cpp b/Tests/Tools/CylinderVolumeBuilderTests.cpp
index 641eb94615dfbf194fd529896a17ea1489deb85d..90499f02b107b59527c034c94172200381b9a5c9 100644
--- a/Tests/Tools/CylinderVolumeBuilderTests.cpp
+++ b/Tests/Tools/CylinderVolumeBuilderTests.cpp
@@ -36,6 +36,7 @@ namespace Test {
                        length,
                        index)
   {
+    (void)index;
     // inner volume
     VolumeConfig innerConfig;
     innerConfig.rMin = 0.;
@@ -120,6 +121,7 @@ namespace Test {
                        length,
                        index)
   {
+    (void)index;
     // inner volume
     VolumeConfig innerConfig;
     innerConfig.rMin = 0.;
@@ -207,6 +209,7 @@ namespace Test {
                        outer,
                        index)
   {
+    (void)index;
     // reference volume
     VolumeConfig Config0;
     Config0.rMin    = 5.;
@@ -273,6 +276,7 @@ namespace Test {
                        inner,
                        index)
   {
+    (void)index;
     // inner volume
     VolumeConfig Config0;
     Config0.rMin    = 0.;
diff --git a/Tests/Utilities/RealQuadraticEquationTests.cpp b/Tests/Utilities/RealQuadraticEquationTests.cpp
index 549d44ef672302705d63e83242ceddad6fe71221..c6c910b074436a407bb38e44b83b8554f1ef5288 100644
--- a/Tests/Utilities/RealQuadraticEquationTests.cpp
+++ b/Tests/Utilities/RealQuadraticEquationTests.cpp
@@ -32,7 +32,7 @@ const double NaN = std::numeric_limits<double>::quiet_NaN();
 namespace Acts {
 
 namespace Test {
-  BOOST_AUTO_TEST_SUITE(Surfaces);
+  BOOST_AUTO_TEST_SUITE(Surfaces)
   /// Unit test for creating RealQuadraticEquation object
   BOOST_AUTO_TEST_CASE(RealQuadraticEquationConstruction)
   {
@@ -79,7 +79,7 @@ namespace Test {
     // BOOST_TEST(assignedRealQuadraticEquationObject ==
     // realQuadraticEquationObject);
   }
-  BOOST_AUTO_TEST_SUITE_END();
+  BOOST_AUTO_TEST_SUITE_END()
 
 }  // end of namespace Test
 
diff --git a/Tests/Utilities/UnitConversionTests.cpp b/Tests/Utilities/UnitConversionTests.cpp
index b05e5ef4cb586a0ab3ad691d2e834aa1c0bf1cca..8140176c5f53a828ccf5292059c3844875bb765e 100644
--- a/Tests/Utilities/UnitConversionTests.cpp
+++ b/Tests/Utilities/UnitConversionTests.cpp
@@ -15,7 +15,7 @@ using namespace Acts::units;
 namespace utf = boost::unit_test;
 namespace tt  = boost::test_tools;
 
-BOOST_AUTO_TEST_SUITE(unit_conversion, *utf::tolerance(1e-15));
+BOOST_AUTO_TEST_SUITE(unit_conversion, *utf::tolerance(1e-15))
 
 BOOST_AUTO_TEST_CASE(length_conversions)
 {
@@ -79,4 +79,4 @@ BOOST_AUTO_TEST_CASE(si_nat_conversions, *utf::tolerance(1e-8))
 }
 // clang-format on
 
-BOOST_AUTO_TEST_SUITE_END();
+BOOST_AUTO_TEST_SUITE_END()
diff --git a/Tests/Volumes/CylinderVolumeBoundsTests.cpp b/Tests/Volumes/CylinderVolumeBoundsTests.cpp
index 0ab4403af1b6b39604b1eeb05c5a4b33d72f5d1e..7fe395ae87ee965b6289355c23703a1541f778af 100644
--- a/Tests/Volumes/CylinderVolumeBoundsTests.cpp
+++ b/Tests/Volumes/CylinderVolumeBoundsTests.cpp
@@ -37,6 +37,7 @@ namespace Test {
                        posZ,
                        index)
   {
+    (void)index;
     // position of volume
     const Vector3D pos(posX, posY, posZ);
     // rotation around x axis
diff --git a/cmake/ACTSCompilerOptions.cmake b/cmake/ACTSCompilerOptions.cmake
index 609e1c980753ad28c29de473d930213e361da161..0978508a01eaec5720c34f25d6071542ebd0f957 100644
--- a/cmake/ACTSCompilerOptions.cmake
+++ b/cmake/ACTSCompilerOptions.cmake
@@ -1,5 +1,5 @@
 # set ACTS compiler flags
-set (ACTS_CXX_FLAGS "-Wall")
+set (ACTS_CXX_FLAGS "-Wall -Wextra -Wpedantic")
 set (ACTS_CXX_FLAGS_DEBUG "--coverage")
 set (ACTS_CXX_FLAGS_MINSIZEREL "")
 set (ACTS_CXX_FLAGS_RELEASE "")