9 #include <boost/test/unit_test.hpp>
17 using namespace Acts::UnitLiterals;
99 auto bs_vol_id = bSf->surfaceRepresentation().geoID().volume();
100 BOOST_CHECK_EQUAL(geoid, bs_vol_id);
102 auto bs_bsf_id = bSf->surfaceRepresentation().geoID().boundary();
103 BOOST_CHECK_EQUAL(++bsurface_id, bs_bsf_id);
111 auto lay_vol_id = lay->geoID().volume();
112 auto lay_lay_id = lay->geoID().layer();
113 BOOST_CHECK_EQUAL(++layer_id, lay_lay_id);
114 BOOST_CHECK_EQUAL(geoid, lay_vol_id);
116 if (lay->approachDescriptor() !=
nullptr) {
119 for (
auto asf : lay->approachDescriptor()->containedSurfaces()) {
123 auto asf_vol_id = asf->geoID().volume();
124 auto asf_lay_id = asf->geoID().layer();
125 auto asf_asf_id = asf->geoID().approach();
126 BOOST_CHECK_EQUAL(layer_id, asf_lay_id);
127 BOOST_CHECK_EQUAL(geoid, asf_vol_id);
128 BOOST_CHECK_EQUAL(++asurface_id, asf_asf_id);
132 if (lay->surfaceArray() !=
nullptr) {
135 for (
auto ssf : lay->surfaceArray()->surfaces()) {
139 auto ssf_vol_id = ssf->geoID().volume();
140 auto ssf_lay_id = ssf->geoID().layer();
141 auto ssf_ssf_id = ssf->geoID().sensitive();
142 BOOST_CHECK_EQUAL(layer_id, ssf_lay_id);
143 BOOST_CHECK_EQUAL(geoid, ssf_vol_id);
144 BOOST_CHECK_EQUAL(++ssurface_id, ssf_ssf_id);
152 auto ioVolumes =
world->confinedVolumes()->arrayObjects();
154 BOOST_CHECK_EQUAL(2ul, ioVolumes.size());
156 auto iioVolumes = ioVolumes[0]->confinedVolumes()->arrayObjects();
158 BOOST_CHECK_EQUAL(2ul, iioVolumes.size());
161 check_vol(*
world, 1);
163 check_vol(*ioVolumes[0], 2);
165 check_vol(*iioVolumes[0], 3);
167 check_vol(*iioVolumes[1], 4);
169 check_vol(*ioVolumes[1], 5);
176 size_t nSurfaces = 0;
177 tGeometry.visitSurfaces([&nSurfaces](
const auto*) { nSurfaces++; });
179 BOOST_CHECK_EQUAL(nSurfaces, 9
u);