9 #include <boost/test/unit_test.hpp>
17 using namespace Acts::UnitLiterals;
100 auto bs_vol_id = bSf->surfaceRepresentation().geometryId().volume();
101 BOOST_CHECK_EQUAL(geoid, bs_vol_id);
103 auto bs_bsf_id = bSf->surfaceRepresentation().geometryId().boundary();
104 BOOST_CHECK_EQUAL(++bsurface_id, bs_bsf_id);
112 auto lay_vol_id = lay->geometryId().volume();
113 auto lay_lay_id = lay->geometryId().layer();
114 BOOST_CHECK_EQUAL(++layer_id, lay_lay_id);
115 BOOST_CHECK_EQUAL(geoid, lay_vol_id);
117 if (lay->approachDescriptor() !=
nullptr) {
120 for (
auto asf : lay->approachDescriptor()->containedSurfaces()) {
124 auto asf_vol_id = asf->geometryId().volume();
125 auto asf_lay_id = asf->geometryId().layer();
126 auto asf_asf_id = asf->geometryId().approach();
127 BOOST_CHECK_EQUAL(layer_id, asf_lay_id);
128 BOOST_CHECK_EQUAL(geoid, asf_vol_id);
129 BOOST_CHECK_EQUAL(++asurface_id, asf_asf_id);
133 if (lay->surfaceArray() !=
nullptr) {
136 for (
auto ssf : lay->surfaceArray()->surfaces()) {
140 auto ssf_vol_id = ssf->geometryId().volume();
141 auto ssf_lay_id = ssf->geometryId().layer();
142 auto ssf_ssf_id = ssf->geometryId().sensitive();
143 BOOST_CHECK_EQUAL(layer_id, ssf_lay_id);
144 BOOST_CHECK_EQUAL(geoid, ssf_vol_id);
145 BOOST_CHECK_EQUAL(++ssurface_id, ssf_ssf_id);
153 auto ioVolumes =
world->confinedVolumes()->arrayObjects();
155 BOOST_CHECK_EQUAL(2ul, ioVolumes.size());
157 auto iioVolumes = ioVolumes[0]->confinedVolumes()->arrayObjects();
159 BOOST_CHECK_EQUAL(2ul, iioVolumes.size());
162 check_vol(*
world, 1);
164 check_vol(*ioVolumes[0], 2);
166 check_vol(*iioVolumes[0], 3);
168 check_vol(*iioVolumes[1], 4);
170 check_vol(*ioVolumes[1], 5);
177 size_t nSurfaces = 0;
178 tGeometry.visitSurfaces([&nSurfaces](
const auto*) { nSurfaces++; });
180 BOOST_CHECK_EQUAL(nSurfaces, 9
u);