9 #include <boost/test/data/test_case.hpp>
10 #include <boost/test/tools/output_test_stream.hpp>
11 #include <boost/test/unit_test.hpp>
27 namespace tt = boost::test_tools;
28 using namespace Acts::UnitLiterals;
51 auto rb = std::make_shared<RectangleBounds>(1_m, 1_m);
52 auto aPlane = Surface::makeShared<PlaneSurface>(
at, std::move(
rb));
55 auto db = std::make_shared<RadialBounds>(0.2_m, 1.2_m);
56 auto aDisc = Surface::makeShared<DiscSurface>(
at, std::move(
db));
59 auto cb = std::make_shared<CylinderBounds>(10_m, 100_m);
60 auto aCylinder = Surface::makeShared<CylinderSurface>(
at, std::move(
cb));
63 auto aStraw = Surface::makeShared<StrawSurface>(
at, 50_cm, 2_m);
71 template <
typename surface_t>
76 double sinPhi = std::sin(phi);
78 double sinTheta = std::sin(theta);
80 Vector3D direction(cosPhi * sinTheta, sinPhi * sinTheta, cosTheta);
90 benchmark_surface_intersections,
93 bdata::distribution = std::uniform_real_distribution<>(-
M_PI,
M_PI))) ^
94 bdata::random((bdata::seed = 22,
96 std::uniform_real_distribution<>(-0.3, 0.3))) ^
101 std::cout << std::endl
102 <<
"Benchmarking theta=" <<
theta <<
", phi=" <<
phi <<
"..."
105 std::cout <<
"- Plane: "
110 std::cout <<
"- Disc: " << intersectionTest<DiscSurface>(*
aDisc,
phi,
theta)
114 std::cout <<
"- Cylinder: "
119 std::cout <<
"- Straw: "