]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/tracking-ca/AliHLTTPCCAStartHitsFinder.h
Completely reworked version of TPC CA tracker (Sergey)
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliHLTTPCCAStartHitsFinder.h
1 //-*- Mode: C++ -*-
2
3 //* This file is property of and copyright by the ALICE HLT Project        * 
4 //* ALICE Experiment at CERN, All rights reserved.                         *
5 //* See cxx source for full Copyright notice                               *
6
7 #ifndef ALIHLTTPCCASTARTHITSFINDER_H
8 #define ALIHLTTPCCASTARTHITSFINDER_H
9
10 #include "AliHLTTPCCADef.h"
11
12 class AliHLTTPCCATracker;
13
14 /**
15  * @class AliHLTTPCCAStartHitsFinder
16  * 
17  */
18 class AliHLTTPCCAStartHitsFinder
19 {
20  public:
21   class AliHLTTPCCASharedMemory
22     {
23      friend class AliHLTTPCCAStartHitsFinder;
24     public:
25  #if !defined(HLTCA_GPUCODE)
26       AliHLTTPCCASharedMemory()
27         : fIRow(0), fNRows(0), fNHits(0), fHitLinkDown(0), fHitLinkUp(0), fNOldStartHits(0), fNRowStartHits(0)
28       {}
29
30       AliHLTTPCCASharedMemory( const AliHLTTPCCASharedMemory& /*dummy*/) 
31         : fIRow(0), fNRows(0), fNHits(0), fHitLinkDown(0), fHitLinkUp(0), fNOldStartHits(0), fNRowStartHits(0)
32       {}
33       AliHLTTPCCASharedMemory& operator=(const AliHLTTPCCASharedMemory& /*dummy*/){ return *this; }
34 #endif
35     protected:
36       Int_t fIRow; // row index
37       Int_t fNRows; // n rows
38       Int_t fNHits; // n hits in the row
39       Short_t *fHitLinkDown; // pointer to down link array
40       Short_t *fHitLinkUp; // pointer to the up link array
41       Int_t fRowStartHits[1024]; // temp. array for the start hits
42       Int_t fNOldStartHits; // n start hits from other jobs
43       Int_t fNRowStartHits; // n start hits for this row
44    };
45
46   GPUd() static Int_t NThreadSyncPoints(){ return 3; }  
47
48   GPUd() static void Thread( Int_t nBlocks, Int_t nThreads, Int_t iBlock, Int_t iThread, Int_t iSync,
49                              AliHLTTPCCASharedMemory &smem, AliHLTTPCCATracker &tracker );
50 };
51
52
53 #endif