22 std::shared_ptr<const Acts::TrackingVolumeArray>
33 std::sort(volumes.begin(), volumes.end(), volumeSorter);
38 boundaries.reserve(tVolumes.size() + 1);
40 std::vector<TrackingVolumeOrderPosition> tVolumesOrdered;
43 for (
auto& tVolume : volumes) {
45 Vector3D binningPosition = tVolume->binningPosition(gctx, bValue);
46 double binningBorder = tVolume->volumeBounds().binningBorder(bValue);
48 double value = tVolume->binningPositionValue(gctx, bValue);
50 if (boundaries.empty()) {
51 boundaries.push_back(value - binningBorder);
54 boundaries.push_back(value + binningBorder);
56 tVolumesOrdered.push_back(
65 return std::make_shared<const BinnedArrayXD<TrackingVolumePtr>>(
66 tVolumesOrdered, std::move(binUtility));