9 #include <boost/test/data/test_case.hpp>
10 #include <boost/test/tools/output_test_stream.hpp>
11 #include <boost/test/unit_test.hpp>
26 namespace tt = boost::test_tools;
27 using namespace Acts::UnitLiterals;
31 using namespace detail;
78 bool navigationBreak =
false;
85 bool loopProtection =
true;
86 double loopFraction = 0.5;
90 int debugMsgWidth = 60;
91 int debugPfxWidth = 30;
100 struct PropagatorState {
115 bdata::distribution = std::uniform_real_distribution<>(-
M_PI,
M_PI))) ^
116 bdata::random((bdata::seed = 22,
117 bdata::distribution =
118 std::uniform_real_distribution<>(-
M_PI,
M_PI))) ^
120 phi, deltaPhi, index) {
126 pState.stepping.p = 100_MeV;
134 lProtection(pState, pStepper);
138 BOOST_CHECK_LT(updatedLimit, initialLimit);
151 propagator_loop_protection_test,
152 bdata::random((bdata::seed = 20,
153 bdata::distribution =
154 std::uniform_real_distribution<>(0.5_GeV, 10_GeV))) ^
155 bdata::random((bdata::seed = 21,
156 bdata::distribution =
157 std::uniform_real_distribution<>(-
M_PI,
M_PI))) ^
158 bdata::random((bdata::seed = 22,
159 bdata::distribution =
160 std::uniform_real_distribution<>(1.0,
M_PI - 1.0))) ^
163 bdata::distribution = std::uniform_int_distribution<>(0, 1))) ^
170 double px = pT *
cos(
phi);
171 double py = pT * sin(
phi);
172 double pz = pT / tan(
theta);
173 double p = pT / sin(
theta);
174 double q = -1 + 2 *
charge;
176 const double Bz = 2
_T;
187 const auto& result = epropagator.propagate(start, options).value();