9 #include <boost/test/data/test_case.hpp>
10 #include <boost/test/tools/output_test_stream.hpp>
11 #include <boost/test/unit_test.hpp>
31 namespace tt = boost::test_tools;
32 using namespace Acts::UnitLiterals;
45 std::vector<std::unique_ptr<const Surface>>
stepState;
77 bdata::random((bdata::seed = 0,
79 std::uniform_real_distribution<>(0.4_GeV, 10_GeV))) ^
80 bdata::random((bdata::seed = 1,
82 std::uniform_real_distribution<>(-
M_PI,
M_PI))) ^
83 bdata::random((bdata::seed = 2,
85 std::uniform_real_distribution<>(1.0,
M_PI - 1.0))) ^
88 bdata::distribution = std::uniform_int_distribution<>(0, 1))) ^
91 bdata::distribution = std::uniform_int_distribution<>(0, 100))) ^
94 double p = pT / sin(
theta);
95 double q = -1 + 2 *
charge;
102 cov << 10_mm, 0, 0.123, 0, 0.5, 0, 0, 10_mm, 0, 0.162, 0, 0, 0.123, 0, 0.1, 0,
103 0, 0, 0, 0.162, 0, 0.1, 0, 0, 0.5, 0, 0, 0, 1. / (10_GeV), 0, 0, 0, 0, 0,
119 test_surface_collection_,
120 bdata::random((bdata::seed = 10,
121 bdata::distribution =
122 std::uniform_real_distribution<>(0.4_GeV, 10_GeV))) ^
123 bdata::random((bdata::seed = 11,
124 bdata::distribution =
125 std::uniform_real_distribution<>(-
M_PI,
M_PI))) ^
126 bdata::random((bdata::seed = 12,
127 bdata::distribution =
128 std::uniform_real_distribution<>(1.0,
M_PI - 1.0))) ^
131 bdata::distribution = std::uniform_int_distribution<>(0, 1))) ^
134 bdata::distribution = std::uniform_int_distribution<>(0, 100))) ^
137 double p = pT / sin(
theta);
138 double q = -1 + 2 *
charge;
145 cov << 10_mm, 0, 0.123, 0, 0.5, 0, 0, 10_mm, 0, 0.162, 0, 0, 0.123, 0, 0.1, 0,
146 0, 0, 0, 0.162, 0, 0.1, 0, 0, 0.5, 0, 0, 0, 1. / (10_GeV), 0, 0, 0, 0, 0,
161 auto collector_result = result.get<PlaneCollector::result_type>();
166 optionsEmpty.maxStepSize = 25_cm;
168 for (
const auto& colsf : collector_result.collected) {
169 const auto& csurface = colsf.surface;
179 BOOST_CHECK(cresult !=
nullptr);
186 test_material_interactor_,
187 bdata::random((bdata::seed = 20,
188 bdata::distribution =
189 std::uniform_real_distribution<>(0.4_GeV, 10_GeV))) ^
190 bdata::random((bdata::seed = 21,
191 bdata::distribution =
192 std::uniform_real_distribution<>(-
M_PI,
M_PI))) ^
193 bdata::random((bdata::seed = 22,
194 bdata::distribution =
195 std::uniform_real_distribution<>(1.0,
M_PI - 1.0))) ^
198 bdata::distribution = std::uniform_int_distribution<>(0, 1))) ^
201 bdata::distribution = std::uniform_int_distribution<>(0, 100))) ^
204 double p = pT / sin(
theta);
205 double q = -1 + 2 *
charge;
212 cov << 10_mm, 0, 0.123, 0, 0.5, 0, 0, 10_mm, 0, 0.162, 0, 0, 0.123, 0, 0.1, 0,
213 0, 0, 0, 0.162, 0, 0.1, 0, 0, 0.5, 0, 0, 0, 1. / (10_GeV), 0, 0, 0, 0, 0,
224 if (result.endParameters) {
226 BOOST_CHECK_LT(result.endParameters->absoluteMomentum(),
234 loop_protection_test,
235 bdata::random((bdata::seed = 20,
236 bdata::distribution =
237 std::uniform_real_distribution<>(0.1_GeV, 0.5_GeV))) ^
238 bdata::random((bdata::seed = 21,
239 bdata::distribution =
240 std::uniform_real_distribution<>(-
M_PI,
M_PI))) ^
241 bdata::random((bdata::seed = 22,
242 bdata::distribution =
243 std::uniform_real_distribution<>(1.0,
M_PI - 1.0))) ^
246 bdata::distribution = std::uniform_int_distribution<>(0, 1))) ^
249 bdata::distribution = std::uniform_int_distribution<>(0, 100))) ^
252 double p = pT / sin(
theta);
253 double q = -1 + 2 *
charge;
260 cov << 10_mm, 0, 0.123, 0, 0.5, 0, 0, 10_mm, 0, 0.162, 0, 0, 0.123, 0, 0.1, 0,
261 0, 0, 0, 0.162, 0, 0.1, 0, 0, 0.5, 0, 0, 0, 1. / (10_GeV), 0, 0, 0, 0, 0,
278 BOOST_CHECK_LT(status.pathLength, options.
pathLimit);