From c7bb907fc7975e35e4e4a3181e0c9e7953ff322b Mon Sep 17 00:00:00 2001 From: Andreas Stefl Date: Wed, 2 Oct 2024 18:14:22 +0200 Subject: [PATCH] move impl to header --- .../Acts/EventData/TransformationHelpers.hpp | 20 ++++++++++++++++-- Core/src/EventData/TransformationHelpers.cpp | 21 ------------------- 2 files changed, 18 insertions(+), 23 deletions(-) diff --git a/Core/include/Acts/EventData/TransformationHelpers.hpp b/Core/include/Acts/EventData/TransformationHelpers.hpp index 7c2a48bdf2d..39240bf469e 100644 --- a/Core/include/Acts/EventData/TransformationHelpers.hpp +++ b/Core/include/Acts/EventData/TransformationHelpers.hpp @@ -13,6 +13,7 @@ #include "Acts/Definitions/TrackParametrization.hpp" #include "Acts/Geometry/GeometryContext.hpp" #include "Acts/Utilities/Result.hpp" +#include "Acts/Utilities/detail/periodic.hpp" namespace Acts { @@ -22,13 +23,28 @@ class Surface; /// /// @param boundParams Bound track parameters vector /// @return Reflected bound track parameters vector -BoundVector reflectBoundParameters(const BoundVector& boundParams); +inline BoundVector reflectBoundParameters(const BoundVector& boundParams) { + BoundVector reflected = boundParams; + auto [phi, theta] = detail::normalizePhiTheta( + boundParams[eBoundPhi] - M_PI, M_PI - boundParams[eBoundTheta]); + reflected[eBoundPhi] = phi; + reflected[eBoundTheta] = theta; + reflected[eBoundQOverP] = -boundParams[eBoundQOverP]; + return reflected; +} /// Reflect free track parameters. /// /// @param freeParams Free track parameters vector /// @return Reflected free track parameters vector -FreeVector reflectFreeParameters(const FreeVector& freeParams); +inline FreeVector reflectFreeParameters(const FreeVector& freeParams) { + FreeVector reflected = freeParams; + reflected[eFreeDir0] = -freeParams[eFreeDir0]; + reflected[eFreeDir1] = -freeParams[eFreeDir1]; + reflected[eFreeDir2] = -freeParams[eFreeDir2]; + reflected[eFreeQOverP] = -freeParams[eFreeQOverP]; + return reflected; +} /// Transform bound track parameters into equivalent free track parameters. /// diff --git a/Core/src/EventData/TransformationHelpers.cpp b/Core/src/EventData/TransformationHelpers.cpp index 87e29e286ce..01aac5ad546 100644 --- a/Core/src/EventData/TransformationHelpers.cpp +++ b/Core/src/EventData/TransformationHelpers.cpp @@ -17,27 +17,6 @@ #include -Acts::BoundVector Acts::reflectBoundParameters( - const Acts::BoundVector& boundParams) { - BoundVector reflected = boundParams; - auto [phi, theta] = Acts::detail::normalizePhiTheta( - boundParams[eBoundPhi] - M_PI, M_PI - boundParams[eBoundTheta]); - reflected[eBoundPhi] = phi; - reflected[eBoundTheta] = theta; - reflected[eBoundQOverP] = -boundParams[eBoundQOverP]; - return reflected; -} - -Acts::FreeVector Acts::reflectFreeParameters( - const Acts::FreeVector& freeParams) { - FreeVector reflected = freeParams; - reflected[eFreeDir0] = -freeParams[eFreeDir0]; - reflected[eFreeDir1] = -freeParams[eFreeDir1]; - reflected[eFreeDir2] = -freeParams[eFreeDir2]; - reflected[eFreeQOverP] = -freeParams[eFreeQOverP]; - return reflected; -} - Acts::FreeVector Acts::transformBoundToFreeParameters( const Acts::Surface& surface, const GeometryContext& geoCtx, const Acts::BoundVector& boundParams) {