9 #include <boost/test/unit_test.hpp>
25 using namespace Acts::Experimental;
50 auto dTransform = Acts::Transform3::Identity();
53 pGenerator,
tContext,
"dummy", dTransform,
54 std::make_unique<Acts::CuboidVolumeBounds>(1, 1, 1),
59 BOOST_CHECK(cBarPortals.size() == 3
u);
61 for (
const auto&
p : cBarPortals) {
62 BOOST_CHECK(
p !=
nullptr);
68 auto testDetectorVolumeUpdate =
78 testDetectorVolumeUpdate(*cBarPortals[0], negPos, negDir, dVolume.get());
79 testDetectorVolumeUpdate(*cBarPortals[1], posPos, posDir, dVolume.get());
80 testDetectorVolumeUpdate(*cBarPortals[2], outerPos, outerDir, dVolume.get());
82 testDetectorVolumeUpdate(*cBarPortals[0], negPos, -negDir,
nullptr);
83 testDetectorVolumeUpdate(*cBarPortals[1], posPos, -posDir,
nullptr);
84 testDetectorVolumeUpdate(*cBarPortals[2], outerPos, -outerDir,
nullptr);
89 BOOST_CHECK(cTubePortals.size() == 4
u);
91 for (
const auto&
p : cTubePortals) {
92 BOOST_CHECK(
p !=
nullptr);
95 testDetectorVolumeUpdate(*cTubePortals[0], negPos, negDir, dVolume.get());
96 testDetectorVolumeUpdate(*cTubePortals[1], posPos, posDir, dVolume.get());
97 testDetectorVolumeUpdate(*cTubePortals[2], outerPos, outerDir, dVolume.get());
98 testDetectorVolumeUpdate(*cTubePortals[3], innerPos, innerDir, dVolume.get());
100 testDetectorVolumeUpdate(*cTubePortals[0], negPos, -negDir,
nullptr);
101 testDetectorVolumeUpdate(*cTubePortals[1], posPos, -posDir,
nullptr);
102 testDetectorVolumeUpdate(*cTubePortals[2], outerPos, -outerDir,
nullptr);
103 testDetectorVolumeUpdate(*cTubePortals[3], innerPos, -innerDir,
nullptr);
109 Acts::Vector3 negPhiSecPos(r * std::cos(-alpha), r * std::sin(-alpha), 0.);
110 Acts::Vector3 negPhiSecDir(-r * std::cos(-alpha), r * std::sin(-alpha), 0.);
111 Acts::Vector3 posPhiSecPos(r * std::cos(alpha), r * std::sin(alpha), 0.);
112 Acts::Vector3 posPhiSecDir(r * std::cos(alpha), -r * std::sin(alpha), 0.);
115 auto cTubeSectorPortals =
generatePortals(dTransform, cTubeSector, dVolume);
116 BOOST_CHECK(cTubeSectorPortals.size() == 6
u);
118 for (
const auto&
p : cTubeSectorPortals) {
119 BOOST_CHECK(
p !=
nullptr);
123 testDetectorVolumeUpdate(*cTubeSectorPortals[0], negPos, negDir,
125 testDetectorVolumeUpdate(*cTubeSectorPortals[1], posPos, posDir,
127 testDetectorVolumeUpdate(*cTubeSectorPortals[2], outerPos, outerDir,
129 testDetectorVolumeUpdate(*cTubeSectorPortals[3], innerPos, innerDir,
131 testDetectorVolumeUpdate(*cTubeSectorPortals[4], negPhiSecPos, negPhiSecDir,
133 testDetectorVolumeUpdate(*cTubeSectorPortals[5], posPhiSecPos, posPhiSecDir,
137 testDetectorVolumeUpdate(*cTubeSectorPortals[0], negPos, -negDir,
nullptr);
138 testDetectorVolumeUpdate(*cTubeSectorPortals[1], posPos, -posDir,
nullptr);
139 testDetectorVolumeUpdate(*cTubeSectorPortals[2], outerPos, -outerDir,
141 testDetectorVolumeUpdate(*cTubeSectorPortals[3], innerPos, -innerDir,
143 testDetectorVolumeUpdate(*cTubeSectorPortals[4], negPhiSecPos, -negPhiSecDir,
145 testDetectorVolumeUpdate(*cTubeSectorPortals[5], posPhiSecPos, -posPhiSecDir,
149 BOOST_AUTO_TEST_SUITE_END()