]>
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 ALIHLTTPCCASTARTHITSFINDER_H | |
10 | #define ALIHLTTPCCASTARTHITSFINDER_H | |
11 | ||
12 | #include "AliHLTTPCCADef.h" | |
4acc2401 | 13 | #include "AliHLTTPCCAHitId.h" |
00d07bcd | 14 | |
15 | class AliHLTTPCCATracker; | |
16 | ||
17 | /** | |
18 | * @class AliHLTTPCCAStartHitsFinder | |
fbb9b71b | 19 | * |
00d07bcd | 20 | */ |
21 | class AliHLTTPCCAStartHitsFinder | |
22 | { | |
fbb9b71b | 23 | public: |
24 | class AliHLTTPCCASharedMemory | |
00d07bcd | 25 | { |
fbb9b71b | 26 | friend class AliHLTTPCCAStartHitsFinder; |
27 | public: | |
28 | #if !defined(HLTCA_GPUCODE) | |
29 | AliHLTTPCCASharedMemory() | |
3a0c1980 | 30 | : fIRow( 0 ), fNRows( 0 ), fNHits( 0 ), fNOldStartHits( 0 ), fNRowStartHits( 0 ) { |
31 | AliHLTTPCCAHitId tmp; | |
32 | tmp.Set(0,0); | |
33 | for( int i=0; i<ALIHLTTPCCASTARTHITSFINDER_MAX_FROWSTARTHITS; i++)fRowStartHits[i] = tmp; | |
34 | } | |
fbb9b71b | 35 | |
36 | AliHLTTPCCASharedMemory( const AliHLTTPCCASharedMemory& /*dummy*/ ) | |
3a0c1980 | 37 | : fIRow( 0 ), fNRows( 0 ), fNHits( 0 ), fNOldStartHits( 0 ), fNRowStartHits( 0 ) { |
38 | AliHLTTPCCAHitId tmp; | |
39 | tmp.Set(0,0); | |
40 | for( int i=0; i<ALIHLTTPCCASTARTHITSFINDER_MAX_FROWSTARTHITS; i++)fRowStartHits[i] = tmp; | |
41 | } | |
fbb9b71b | 42 | AliHLTTPCCASharedMemory& operator=( const AliHLTTPCCASharedMemory& /*dummy*/ ) { return *this; } |
31649d4b | 43 | #endif //!HLTCA_GPUCODE |
7be9b0d7 | 44 | |
fbb9b71b | 45 | protected: |
46 | int fIRow; // row index | |
47 | int fNRows; // n rows | |
48 | int fNHits; // n hits in the row | |
7be9b0d7 | 49 | AliHLTTPCCAHitId fRowStartHits[ALIHLTTPCCASTARTHITSFINDER_MAX_FROWSTARTHITS]; // temp. array for the start hits |
fbb9b71b | 50 | int fNOldStartHits; // n start hits from other jobs |
51 | int fNRowStartHits; // n start hits for this row | |
52 | }; | |
53 | ||
54 | GPUd() static int NThreadSyncPoints() { return 3; } | |
55 | ||
56 | GPUd() static void Thread( int nBlocks, int nThreads, int iBlock, int iThread, int iSync, | |
57 | AliHLTTPCCASharedMemory &smem, AliHLTTPCCATracker &tracker ); | |
00d07bcd | 58 | }; |
59 | ||
60 | ||
31649d4b | 61 | #endif //ALIHLTTPCCASTARTHITSFINDER_H |