Skip to content

Commit 8eb87a0

Browse files
committed
GPU Display: Skip rejected first/last clusters when drawing connected looper segments
1 parent feb430e commit 8eb87a0

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

GPU/GPUTracking/display/render/GPUDisplayDraw.cxx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -439,8 +439,14 @@ void GPUDisplay::DrawFinal(int32_t iSector, int32_t /*iCol*/, const GPUTPCGMProp
439439
if constexpr (std::is_same_v<T, GPUTPCGMMergedTrack>) {
440440
if (track->PrevSegment() >= 0) {
441441
const auto& prevtrk = mIOPtrs->mergedTracks[track->PrevSegment()];
442-
prevcid = mIOPtrs->mergedTrackHits[prevtrk.FirstClusterRef() + ((track->Leg() & 1) ? (prevtrk.NClusters() - 1) : 0)].num;
443442
leg = track->Leg();
443+
for (int32_t iChk = (leg & 1) ? (prevtrk.NClusters() - 1) : 0; iChk != ((leg & 1) ? -1 : (int32_t)prevtrk.NClusters()); iChk += (leg & 1) ? -1 : 1) {
444+
const auto& hit = mIOPtrs->mergedTrackHits[prevtrk.FirstClusterRef() + iChk];
445+
if (!mCfgH.hideRejectedClusters || !(hit.state & GPUTPCGMMergedTrackHit::flagReject)) {
446+
prevcid = hit.num;
447+
break;
448+
}
449+
}
444450
}
445451
}
446452

0 commit comments

Comments
 (0)