]>
Commit | Line | Data |
---|---|---|
00d07bcd | 1 | //-*- Mode: C++ -*- |
ce565086 | 2 | // ************************************************************************ |
fbb9b71b | 3 | // This file is property of and copyright by the ALICE HLT Project * |
ce565086 | 4 | // ALICE Experiment at CERN, All rights reserved. * |
5 | // See cxx source for full Copyright notice * | |
6 | // * | |
7 | //************************************************************************* | |
00d07bcd | 8 | |
9 | #ifndef ALIHLTTPCCANEIGHBOURSFINDER_H | |
10 | #define ALIHLTTPCCANEIGHBOURSFINDER_H | |
11 | ||
12 | ||
13 | #include "AliHLTTPCCADef.h" | |
b22af1bf | 14 | #include "AliHLTTPCCARow.h" |
00d07bcd | 15 | class AliHLTTPCCATracker; |
16 | ||
17 | /** | |
18 | * @class AliHLTTPCCANeighboursFinder | |
fbb9b71b | 19 | * |
00d07bcd | 20 | */ |
21 | class AliHLTTPCCANeighboursFinder | |
22 | { | |
fbb9b71b | 23 | public: |
24 | class AliHLTTPCCASharedMemory | |
00d07bcd | 25 | { |
fbb9b71b | 26 | friend class AliHLTTPCCANeighboursFinder; |
27 | public: | |
00d07bcd | 28 | #if !defined(HLTCA_GPUCODE) |
fbb9b71b | 29 | AliHLTTPCCASharedMemory() |
b22af1bf | 30 | : 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() {} |
00d07bcd | 31 | |
fbb9b71b | 32 | AliHLTTPCCASharedMemory( const AliHLTTPCCASharedMemory& /*dummy*/ ) |
b22af1bf | 33 | : 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() {} |
fbb9b71b | 34 | AliHLTTPCCASharedMemory& operator=( const AliHLTTPCCASharedMemory& /*dummy*/ ) { return *this; } |
31649d4b | 35 | #endif //!HLTCA_GPUCODE |
7be9b0d7 | 36 | |
fbb9b71b | 37 | protected: |
fbb9b71b | 38 | int fNHits; // n hits |
39 | int fUpNHits; // n hits in the next row | |
40 | int fDnNHits; // n hits in the prev row | |
41 | float fUpDx; // x distance to the next row | |
42 | float fDnDx; // x distance to the previous row | |
43 | float fUpTx; // normalized x distance to the next row | |
44 | float fDnTx; // normalized x distance to the previous row | |
45 | int fIRow; // row number | |
46 | int fIRowUp; // next row number | |
47 | int fIRowDn;// previous row number | |
fbb9b71b | 48 | int fNRows; // number of rows |
7be9b0d7 | 49 | float2 fA[256][ALIHLTTPCCANEIGHBOURS_FINDER_MAX_NNEIGHUP]; // temp memory |
50 | unsigned short fB[256][ALIHLTTPCCANEIGHBOURS_FINDER_MAX_NNEIGHUP]; // temp memory | |
b22af1bf | 51 | AliHLTTPCCARow fRow, fRowUp, fRowDown; |
00d07bcd | 52 | }; |
00d07bcd | 53 | |
fbb9b71b | 54 | GPUd() static int NThreadSyncPoints() { return 2; } |
55 | ||
56 | GPUd() static void Thread( int nBlocks, int nThreads, int iBlock, int iThread, int iSync, | |
57 | AliHLTTPCCASharedMemory &smem, AliHLTTPCCATracker &tracker ); | |
ce565086 | 58 | |
00d07bcd | 59 | }; |
60 | ||
61 | ||
31649d4b | 62 | #endif //ALIHLTTPCCANEIGHBOURSFINDER_H |