@@ -38,12 +38,13 @@ int TPCClusterDecompressor::decompress(const CompressedClusters* clustersCompres
3838{
3939 std::vector<ClusterNative> clusters[NSLICES ][GPUCA_ROW_COUNT ];
4040 unsigned int offset = 0 ;
41- float zOffset = 0 ;
4241 for (unsigned int i = 0 ; i < clustersCompressed->nTracks ; i++) {
42+ float zOffset = 0 ;
4343 unsigned int slice = clustersCompressed->sliceA [i];
4444 unsigned int row = clustersCompressed->rowA [i];
4545 GPUTPCCompressionTrackModel track;
46- for (unsigned int j = 0 ; j < clustersCompressed->nTrackClusters [i]; j++) {
46+ unsigned int j;
47+ for (j = 0 ; j < clustersCompressed->nTrackClusters [i]; j++) {
4748 unsigned int pad = 0 , time = 0 ;
4849 if (j) {
4950 unsigned char tmpSlice = clustersCompressed->sliceLegDiffA [offset - i - 1 ];
@@ -65,11 +66,9 @@ int TPCClusterDecompressor::decompress(const CompressedClusters* clustersCompres
6566 row = clustersCompressed->rowDiffA [offset - i - 1 ];
6667 }
6768 if (changeLeg && track.Mirror ()) {
68- offset += clustersCompressed->nTrackClusters [i] - j;
6969 break ;
7070 }
7171 if (track.Propagate (param.tpcGeometry .Row2X (row), param.SliceParam [slice].Alpha )) {
72- offset += clustersCompressed->nTrackClusters [i] - j;
7372 break ;
7473 }
7574 unsigned int timeTmp = clustersCompressed->timeResA [offset - i - 1 ];
@@ -92,11 +91,11 @@ int TPCClusterDecompressor::decompress(const CompressedClusters* clustersCompres
9291 track.Init (param.tpcGeometry .Row2X (row), y, z - zOffset, param.SliceParam [slice].Alpha , clustersCompressed->qPtA [i], param);
9392 }
9493 if (j + 1 < clustersCompressed->nTrackClusters [i] && track.Filter (y, z - zOffset, row)) {
95- offset += clustersCompressed->nTrackClusters [i] - j;
9694 break ;
9795 }
9896 offset++;
9997 }
98+ offset += clustersCompressed->nTrackClusters [i] - j;
10099 }
101100 ClusterNative* clusterBuffer = allocator (clustersCompressed->nAttachedClusters + clustersCompressed->nUnattachedClusters );
102101 unsigned int offsets[NSLICES ][GPUCA_ROW_COUNT ];
0 commit comments