Skip to content

Commit

Permalink
move impl to header
Browse files Browse the repository at this point in the history
  • Loading branch information
andiwand committed Oct 2, 2024
1 parent bd63067 commit c7bb907
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 23 deletions.
20 changes: 18 additions & 2 deletions Core/include/Acts/EventData/TransformationHelpers.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -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 {

Expand All @@ -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.
///
Expand Down
21 changes: 0 additions & 21 deletions Core/src/EventData/TransformationHelpers.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,27 +17,6 @@

#include <algorithm>

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) {
Expand Down

0 comments on commit c7bb907

Please sign in to comment.