diff --git a/Core/include/Acts/Geometry/DetectorElementBase.hpp b/Core/include/Acts/Geometry/DetectorElementBase.hpp index 06002ec980e..484e8849ba3 100644 --- a/Core/include/Acts/Geometry/DetectorElementBase.hpp +++ b/Core/include/Acts/Geometry/DetectorElementBase.hpp @@ -8,6 +8,12 @@ #pragma once +#include "Acts/Definitions/Algebra.hpp" +#include "Acts/Geometry/GeometryContext.hpp" + +#include +#include + /// This is the plugin mechanism to exchange the entire DetectorElementBase /// /// By defining ACTS_DETECTOR_ELEMENT_BASE_REPLACEMENT pre-compile time the @@ -18,5 +24,32 @@ #ifdef ACTS_DETECTOR_ELEMENT_BASE_REPLACEMENT #include ACTS_DETECTOR_ELEMENT_BASE_REPLACEMENT #else -#include "detail/DefaultDetectorElementBase.hpp" + +namespace Acts { + +class Surface; + +class DetectorElementBase { + public: + DetectorElementBase() = default; + virtual ~DetectorElementBase() = default; + + /// Return the transform for the Element proxy mechanism + /// + /// @param gctx The current geometry context object, e.g. alignment + virtual const Transform3& transform(const GeometryContext& gctx) const = 0; + + /// Return surface representation - const return pattern + virtual const Surface& surface() const = 0; + + /// Non-const return pattern + virtual Surface& surface() = 0; + + /// Returns the thickness of the module + /// @return double that indicates the thickness of the module + virtual double thickness() const = 0; +}; + +} // namespace Acts + #endif diff --git a/Core/include/Acts/Geometry/detail/DefaultDetectorElementBase.hpp b/Core/include/Acts/Geometry/detail/DefaultDetectorElementBase.hpp deleted file mode 100644 index 14d2e0a11fb..00000000000 --- a/Core/include/Acts/Geometry/detail/DefaultDetectorElementBase.hpp +++ /dev/null @@ -1,49 +0,0 @@ -// This file is part of the Acts project. -// -// Copyright (C) 2016-2020 CERN for the benefit of the Acts project -// -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. - -#pragma once - -#include "Acts/Definitions/Algebra.hpp" -#include "Acts/Geometry/GeometryContext.hpp" - -#include -#include - -namespace Acts { - -class Surface; - -/// @class DetectorElementBase -/// -/// This is the default base class for all tracking detector elements -/// with read-out relevant information. It provides the minimal interface -/// for the Acts proxy mechanism for surfaces, i.e. surfaces in the -/// Tracking geometry representing actual detection devices -/// -class DetectorElementBase { - public: - DetectorElementBase() = default; - virtual ~DetectorElementBase() = default; - - /// Return the transform for the Element proxy mechanism - /// - /// @param gctx The current geometry context object, e.g. alignment - virtual const Transform3& transform(const GeometryContext& gctx) const = 0; - - /// Return surface representation - const return pattern - virtual const Surface& surface() const = 0; - - /// Non-const return pattern - virtual Surface& surface() = 0; - - /// Returns the thickness of the module - /// @return double that indicates the thickness of the module - virtual double thickness() const = 0; -}; - -} // end of namespace Acts diff --git a/Core/src/Geometry/ProtoLayer.cpp b/Core/src/Geometry/ProtoLayer.cpp index 90d824528b7..8deb8f3dee1 100644 --- a/Core/src/Geometry/ProtoLayer.cpp +++ b/Core/src/Geometry/ProtoLayer.cpp @@ -10,7 +10,6 @@ #include "Acts/Definitions/Algebra.hpp" #include "Acts/Geometry/Polyhedron.hpp" -#include "Acts/Geometry/detail/DefaultDetectorElementBase.hpp" #include "Acts/Utilities/Helpers.hpp" #include diff --git a/Core/src/Surfaces/Surface.cpp b/Core/src/Surfaces/Surface.cpp index 2415b71dd4e..78719ad29c4 100644 --- a/Core/src/Surfaces/Surface.cpp +++ b/Core/src/Surfaces/Surface.cpp @@ -10,7 +10,6 @@ #include "Acts/Definitions/Common.hpp" #include "Acts/EventData/detail/TransformationBoundToFree.hpp" -#include "Acts/Geometry/detail/DefaultDetectorElementBase.hpp" #include "Acts/Surfaces/SurfaceBounds.hpp" #include "Acts/Surfaces/detail/AlignmentHelper.hpp" #include "Acts/Utilities/VectorHelpers.hpp" diff --git a/Examples/Algorithms/Digitization/src/PlanarSteppingAlgorithm.cpp b/Examples/Algorithms/Digitization/src/PlanarSteppingAlgorithm.cpp index 4758a68cdbc..be5c5581038 100644 --- a/Examples/Algorithms/Digitization/src/PlanarSteppingAlgorithm.cpp +++ b/Examples/Algorithms/Digitization/src/PlanarSteppingAlgorithm.cpp @@ -20,7 +20,6 @@ #include "Acts/EventData/SourceLink.hpp" #include "Acts/Geometry/GeometryIdentifier.hpp" #include "Acts/Geometry/TrackingGeometry.hpp" -#include "Acts/Geometry/detail/DefaultDetectorElementBase.hpp" #include "Acts/Plugins/Identification/IdentifiedDetectorElement.hpp" #include "Acts/Surfaces/Surface.hpp" #include "Acts/Surfaces/SurfaceArray.hpp" diff --git a/Examples/Detectors/TelescopeDetector/include/ActsExamples/TelescopeDetector/TelescopeDetectorElement.hpp b/Examples/Detectors/TelescopeDetector/include/ActsExamples/TelescopeDetector/TelescopeDetectorElement.hpp index 21b4b758c6d..95af46fb643 100644 --- a/Examples/Detectors/TelescopeDetector/include/ActsExamples/TelescopeDetector/TelescopeDetectorElement.hpp +++ b/Examples/Detectors/TelescopeDetector/include/ActsExamples/TelescopeDetector/TelescopeDetectorElement.hpp @@ -11,7 +11,6 @@ #include "Acts/Definitions/Algebra.hpp" #include "Acts/Geometry/DetectorElementBase.hpp" #include "Acts/Geometry/GeometryContext.hpp" -#include "Acts/Geometry/detail/DefaultDetectorElementBase.hpp" #include "Acts/Surfaces/Surface.hpp" #include diff --git a/Examples/Io/Csv/src/CsvTrackingGeometryWriter.cpp b/Examples/Io/Csv/src/CsvTrackingGeometryWriter.cpp index ba776c216df..e7db055cf23 100644 --- a/Examples/Io/Csv/src/CsvTrackingGeometryWriter.cpp +++ b/Examples/Io/Csv/src/CsvTrackingGeometryWriter.cpp @@ -21,7 +21,6 @@ #include "Acts/Geometry/TrackingGeometry.hpp" #include "Acts/Geometry/TrackingVolume.hpp" #include "Acts/Geometry/VolumeBounds.hpp" -#include "Acts/Geometry/detail/DefaultDetectorElementBase.hpp" #include "Acts/Plugins/Identification/IdentifiedDetectorElement.hpp" #include "Acts/Surfaces/Surface.hpp" #include "Acts/Surfaces/SurfaceArray.hpp" diff --git a/Examples/Io/Root/src/RootPlanarClusterWriter.cpp b/Examples/Io/Root/src/RootPlanarClusterWriter.cpp index b318442a3dc..3d1237446bd 100644 --- a/Examples/Io/Root/src/RootPlanarClusterWriter.cpp +++ b/Examples/Io/Root/src/RootPlanarClusterWriter.cpp @@ -19,7 +19,6 @@ #include "Acts/EventData/SourceLink.hpp" #include "Acts/Geometry/GeometryIdentifier.hpp" #include "Acts/Geometry/TrackingGeometry.hpp" -#include "Acts/Geometry/detail/DefaultDetectorElementBase.hpp" #include "Acts/Plugins/Identification/IdentifiedDetectorElement.hpp" #include "Acts/Surfaces/Surface.hpp" #include "Acts/Utilities/Result.hpp" diff --git a/Plugins/Geant4/include/Acts/Plugins/Geant4/Geant4DetectorElement.hpp b/Plugins/Geant4/include/Acts/Plugins/Geant4/Geant4DetectorElement.hpp index a89cdad18cc..8aae504cb5d 100644 --- a/Plugins/Geant4/include/Acts/Plugins/Geant4/Geant4DetectorElement.hpp +++ b/Plugins/Geant4/include/Acts/Plugins/Geant4/Geant4DetectorElement.hpp @@ -11,7 +11,6 @@ #include "Acts/Definitions/Algebra.hpp" #include "Acts/Geometry/DetectorElementBase.hpp" #include "Acts/Geometry/GeometryContext.hpp" -#include "Acts/Geometry/detail/DefaultDetectorElementBase.hpp" #include "Acts/Surfaces/Surface.hpp" #include diff --git a/Tests/CommonHelpers/Acts/Tests/CommonHelpers/CubicTrackingGeometry.hpp b/Tests/CommonHelpers/Acts/Tests/CommonHelpers/CubicTrackingGeometry.hpp index bd8d350c116..aeecc8d5f44 100644 --- a/Tests/CommonHelpers/Acts/Tests/CommonHelpers/CubicTrackingGeometry.hpp +++ b/Tests/CommonHelpers/Acts/Tests/CommonHelpers/CubicTrackingGeometry.hpp @@ -21,7 +21,6 @@ #include "Acts/Geometry/PlaneLayer.hpp" #include "Acts/Geometry/TrackingGeometry.hpp" #include "Acts/Geometry/TrackingVolume.hpp" -#include "Acts/Geometry/detail/DefaultDetectorElementBase.hpp" #include "Acts/Material/HomogeneousSurfaceMaterial.hpp" #include "Acts/Surfaces/PlaneSurface.hpp" #include "Acts/Surfaces/RectangleBounds.hpp" diff --git a/Tests/UnitTests/Core/Geometry/AlignmentContextTests.cpp b/Tests/UnitTests/Core/Geometry/AlignmentContextTests.cpp index c7ab086e376..a176b5a82cc 100644 --- a/Tests/UnitTests/Core/Geometry/AlignmentContextTests.cpp +++ b/Tests/UnitTests/Core/Geometry/AlignmentContextTests.cpp @@ -11,7 +11,6 @@ #include "Acts/Definitions/Algebra.hpp" #include "Acts/Definitions/Units.hpp" #include "Acts/Geometry/GeometryContext.hpp" -#include "Acts/Geometry/detail/DefaultDetectorElementBase.hpp" #include "Acts/Surfaces/PlaneSurface.hpp" #include "Acts/Surfaces/RectangleBounds.hpp" #include "Acts/Surfaces/Surface.hpp"