]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/TPCLib/tracking-ca/AliHLTTPCCANeighboursFinder.h
bug fix: reconstruction crash when the output buffer size exceed
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliHLTTPCCANeighboursFinder.h
index 21fbc29175c47fa62e153d13db4c2b7fd7890796..6ea77267018a4c07024a64c9882580fe6b6250df 100644 (file)
@@ -11,7 +11,7 @@
 
 
 #include "AliHLTTPCCADef.h"
-#include "AliHLTTPCCAGrid.h"
+#include "AliHLTTPCCARow.h"
 class AliHLTTPCCATracker;
 
 /**
@@ -27,15 +27,14 @@ class AliHLTTPCCANeighboursFinder
       public:
 #if !defined(HLTCA_GPUCODE)
         AliHLTTPCCASharedMemory()
-            : fGridUp(), fGridDn(), fNHits( 0 ), fUpNHits( 0 ), fDnNHits( 0 ), fUpDx( 0 ), fDnDx( 0 ), fUpTx( 0 ), fDnTx( 0 ), fIRow( 0 ), fIRowUp( 0 ), fIRowDn( 0 ), fFirst( 0 ), fFirstDn( 0 ), fFirstUp( 0 ), fNRows( 0 ), fHitLinkUp( 0 ), fHitLinkDn( 0 ) {}
+            : fNHits( 0 ), fUpNHits( 0 ), fDnNHits( 0 ), fUpDx( 0 ), fDnDx( 0 ), fUpTx( 0 ), fDnTx( 0 ), fIRow( 0 ), fIRowUp( 0 ), fIRowDn( 0 ), fNRows( 0 ), fRow(), fRowUp(), fRowDown() {}
 
         AliHLTTPCCASharedMemory( const AliHLTTPCCASharedMemory& /*dummy*/ )
-            : fGridUp(), fGridDn(), fNHits( 0 ), fUpNHits( 0 ), fDnNHits( 0 ), fUpDx( 0 ), fDnDx( 0 ), fUpTx( 0 ), fDnTx( 0 ), fIRow( 0 ), fIRowUp( 0 ), fIRowDn( 0 ), fFirst( 0 ), fFirstDn( 0 ), fFirstUp( 0 ), fNRows( 0 ), fHitLinkUp( 0 ), fHitLinkDn( 0 ) {}
+            : fNHits( 0 ), fUpNHits( 0 ), fDnNHits( 0 ), fUpDx( 0 ), fDnDx( 0 ), fUpTx( 0 ), fDnTx( 0 ), fIRow( 0 ), fIRowUp( 0 ), fIRowDn( 0 ), fNRows( 0 ), fRow(), fRowUp(), fRowDown() {}
         AliHLTTPCCASharedMemory& operator=( const AliHLTTPCCASharedMemory& /*dummy*/ ) { return *this; }
-#endif
+#endif //!HLTCA_GPUCODE
+
       protected:
-        AliHLTTPCCAGrid fGridUp; // grid for the next row
-        AliHLTTPCCAGrid fGridDn; // grid for the previous row
         int fNHits; // n hits
         int fUpNHits; // n hits in the next row
         int fDnNHits; // n hits in the prev row
@@ -46,16 +45,10 @@ class AliHLTTPCCANeighboursFinder
         int fIRow; // row number
         int fIRowUp; // next row number
         int fIRowDn;// previous row number
-        int fFirst; // index of the first hit
-        int fFirstDn; // index of the first hit in the next row
-        int fFirstUp;// index of the first hit in the previous row
         int fNRows; // number of rows
-        short *fHitLinkUp; // links to the next row
-        short *fHitLinkDn; // links to the previous  row
-        float2 fA[256][20]; // temp memory
-        unsigned short fB[256][20]; // temp memory
-        unsigned short fGridContentUp[7000]; // grid content for the next row
-        unsigned short fGridContentDn[7000];// grid content for the previous row
+        float2 fA[256][ALIHLTTPCCANEIGHBOURS_FINDER_MAX_NNEIGHUP]; // temp memory
+        unsigned short fB[256][ALIHLTTPCCANEIGHBOURS_FINDER_MAX_NNEIGHUP]; // temp memory
+               AliHLTTPCCARow fRow, fRowUp, fRowDown;
     };
 
     GPUd() static int NThreadSyncPoints() { return 2; }
@@ -66,4 +59,4 @@ class AliHLTTPCCANeighboursFinder
 };
 
 
-#endif
+#endif //ALIHLTTPCCANEIGHBOURSFINDER_H