File indexing completed on 2026-09-16 08:19:49
0001
0002
0003
0004
0005
0006
0007
0008
0009 #pragma once
0010
0011 #include "Acts/Definitions/Direction.hpp"
0012 #include "Acts/Propagator/SympyStepper.hpp"
0013 #include "Acts/Utilities/Result.hpp"
0014
0015 namespace Acts {
0016
0017 class IVolumeMaterial;
0018
0019 namespace detail {
0020
0021
0022 enum class SympyStepMode {
0023 Vacuum,
0024 Dense,
0025 };
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044 template <SympyStepMode Mode, bool WithJac>
0045 Result<double> sympyStep(const SympyStepper& stepper,
0046 SympyStepper::State& state, Direction propDir,
0047 const IVolumeMaterial* material);
0048
0049 extern template Result<double> sympyStep<SympyStepMode::Vacuum, false>(
0050 const SympyStepper&, SympyStepper::State&, Direction,
0051 const IVolumeMaterial*);
0052 extern template Result<double> sympyStep<SympyStepMode::Vacuum, true>(
0053 const SympyStepper&, SympyStepper::State&, Direction,
0054 const IVolumeMaterial*);
0055 extern template Result<double> sympyStep<SympyStepMode::Dense, false>(
0056 const SympyStepper&, SympyStepper::State&, Direction,
0057 const IVolumeMaterial*);
0058 extern template Result<double> sympyStep<SympyStepMode::Dense, true>(
0059 const SympyStepper&, SympyStepper::State&, Direction,
0060 const IVolumeMaterial*);
0061
0062 }
0063 }