File indexing completed on 2026-08-16 08:17:19
0001
0002
0003
0004
0005
0006
0007
0008
0009 #pragma once
0010
0011 #include "Acts/Utilities/Axis.hpp"
0012 #include "Acts/Utilities/MultiAxis.hpp"
0013
0014 #include "CreateMultiAxis3.hpp"
0015
0016 namespace Acts::detail {
0017
0018 template <typename FirstAxis>
0019 std::unique_ptr<IMultiAxis3D> createMultiAxis3(const FirstAxis& first,
0020 const IAxis& second,
0021 const IAxis& third) {
0022 return second.visit([&first, &third]<AxisConcept Axis2>(
0023 const Axis2& a2) -> std::unique_ptr<IMultiAxis3D> {
0024 return third.visit([&first, &a2]<AxisConcept Axis3>(
0025 const Axis3& a3) -> std::unique_ptr<IMultiAxis3D> {
0026 return std::make_unique<MultiAxis<FirstAxis, Axis2, Axis3>>(first, a2,
0027 a3);
0028 });
0029 });
0030 }
0031
0032 }