From 89d710e18583abc5a9c928d06ec1278f60efde59 Mon Sep 17 00:00:00 2001 From: Andreas Salzburger Date: Wed, 24 Jul 2024 18:19:24 +0200 Subject: [PATCH] feat: adding sympy stepper to python bindings (#3433) This mini-PR allows to test and use the simply stepper from the Examples --- Examples/Python/src/Propagation.cpp | 17 +++++++++++++++++ Examples/Scripts/Python/propagation.py | 1 + 2 files changed, 18 insertions(+) diff --git a/Examples/Python/src/Propagation.cpp b/Examples/Python/src/Propagation.cpp index 7e8671bc603..19982cf0c33 100644 --- a/Examples/Python/src/Propagation.cpp +++ b/Examples/Python/src/Propagation.cpp @@ -15,6 +15,7 @@ #include "Acts/Propagator/Navigator.hpp" #include "Acts/Propagator/Propagator.hpp" #include "Acts/Propagator/StraightLineStepper.hpp" +#include "Acts/Propagator/SympyStepper.hpp" #include "Acts/Utilities/Logger.hpp" #include "ActsExamples/Propagation/PropagationAlgorithm.hpp" #include "ActsExamples/Propagation/PropagatorInterface.hpp" @@ -124,6 +125,7 @@ void addPropagation(Context& ctx) { std::shared_ptr>( mex, "PropagatorInterface"); + // Eigen based stepper { auto stepper = py::class_>(m, "EigenStepper"); stepper.def(py::init>()); @@ -136,6 +138,7 @@ void addPropagation(Context& ctx) { prop, "EigenDetector"); } + // ATLAS based stepper { auto stepper = py::class_(m, "AtlasStepper"); stepper.def(py::init>()); @@ -148,6 +151,20 @@ void addPropagation(Context& ctx) { prop, "AtlasDetector"); } + // Sympy based stepper + { + auto stepper = py::class_(m, "SympyStepper"); + stepper.def(py::init>()); + + addPropagator(prop, "Sympy"); + } + + { + addPropagator( + prop, "SympyDetector"); + } + + // Straight line stepper { auto stepper = py::class_(m, "StraightLineStepper"); diff --git a/Examples/Scripts/Python/propagation.py b/Examples/Scripts/Python/propagation.py index 6c8139c1f03..6a354653160 100755 --- a/Examples/Scripts/Python/propagation.py +++ b/Examples/Scripts/Python/propagation.py @@ -23,6 +23,7 @@ def runPropagation(trackingGeometry, field, outputDir, s=None, decorators=[]): stepper = acts.EigenStepper(field) # stepper = acts.AtlasStepper(field) # stepper = acts.StraightLineStepper() + # stepper = acts.SympyStepper(field) print("We're running with:", type(stepper).__name__) prop = acts.examples.ConcretePropagator(acts.Propagator(stepper, nav))