21 class OverlapMatrixCreator {
31 unsigned short nSpacePointTrackCandidates) :
40 std::vector <std::vector<unsigned short> >
getOverlapMatrix(
unsigned allowedOverlaps = 0)
45 for (
unsigned short ii = 0; ii < tracks.size(); ii++) {
46 for (
unsigned short jj = ii + 1; jj < tracks.size(); jj++) {
57 if (allowedOverlaps) {
58 std::vector <unsigned short> overlapChache;
61 std::sort(overlapTracks.begin(), overlapTracks.end());
63 auto endIter = overlapTracks.end();
64 auto cacheIter = overlapTracks.begin();
65 for (
auto iter = overlapTracks.begin(); iter != endIter; iter++) {
66 if (*iter != *cacheIter) {
68 }
else if (iter - cacheIter == allowedOverlaps) {
69 overlapChache.push_back(*iter);
72 overlapTracks = overlapChache;
73 overlapChache.clear();
82 std::sort(overlapTracks.begin(), overlapTracks.end());
83 overlapTracks.erase(std::unique(overlapTracks.begin(), overlapTracks.end()), overlapTracks.end());