8 std::deque<const DetGeomDesc*> bufferIdealGeo;
9 bufferIdealGeo.emplace_back(&idealDetRoot);
11 std::deque<DetGeomDesc*> bufferAlignedGeo;
13 bufferAlignedGeo.emplace_back(alignedDetRoot);
15 while (!bufferIdealGeo.empty()) {
16 const DetGeomDesc* idealDet = bufferIdealGeo.front();
18 bufferIdealGeo.pop_front();
19 bufferAlignedGeo.pop_front();
48 const auto& idealDetChildren = idealDet->
components();
49 for (
unsigned int i = 0;
i < idealDetChildren.size();
i++) {
51 bufferIdealGeo.emplace_back(idealDetChild);
57 bufferAlignedGeo.emplace_back(alignedDetChild);
60 return std::unique_ptr<DetGeomDesc>(alignedDetRoot);