diff --git a/InnerDetector/InDetRecAlgs/SiSpacePointFormation/src/SiTrackerSpacePointFinder.cxx b/InnerDetector/InDetRecAlgs/SiSpacePointFormation/src/SiTrackerSpacePointFinder.cxx index 80bf4ec0875c8deb8afb4453e2ec3061ff1cfdcc..6692a055a91300ffa946b9f037dc432f119fb5fc 100755 --- a/InnerDetector/InDetRecAlgs/SiSpacePointFormation/src/SiTrackerSpacePointFinder.cxx +++ b/InnerDetector/InDetRecAlgs/SiSpacePointFormation/src/SiTrackerSpacePointFinder.cxx @@ -402,7 +402,7 @@ void SiTrackerSpacePointFinder::addSCT_SpacePoints(const SCT_ClusterCollection* // - overlapExtents[6], overlapExtents[7], overlapExtents[10], overlapExtents[11] // overlapExtents[8], overlapExtents[9], overlapExtents[12], overlapExtents[13] are filled for the phi overlapping elements - constexpr size_t nNeighbours{6}; + enum NeighbourIndices{ThisOne, Opposite, PhiPlus, PhiMinus, EtaPlus, EtaMinus, nNeighbours}; std::array<const SCT_ClusterCollection*, nNeighbours> neighbourClusters{}; std::array<const InDetDD::SiDetectorElement*, nNeighbours> neighbourElements{}; @@ -442,7 +442,7 @@ void SiTrackerSpacePointFinder::addSCT_SpacePoints(const SCT_ClusterCollection* // the overlapping in phi and then the overlapping in eta // For this reason you need to re-order the indices, since the SiSpacePointMakerTool will process // first the eta overlaps and then the phi ones - int NN[6] = {0,1,4,5,2,3}; + const std::array<size_t, nNeighbours> neigbourIndices{ThisOne, Opposite, EtaPlus, EtaMinus, PhiPlus, PhiMinus}; for (const auto& otherHash : *others) { @@ -452,8 +452,8 @@ void SiTrackerSpacePointFinder::addSCT_SpacePoints(const SCT_ClusterCollection* if(!otherElement || !otherClusters) continue; - neighbourElements[NN[n]] = otherElement; - neighbourClusters[NN[n]] = otherClusters; + neighbourElements[neigbourIndices[n]] = otherElement; + neighbourClusters[neigbourIndices[n]] = otherClusters; search = true ; switch (n) {