]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/tracking-ca/AliHLTTPCCAStartHitsFinder.h
changes from Matthias
[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 //*************************************************************************
8
9 #ifndef ALIHLTTPCCASTARTHITSFINDER_H
10 #define ALIHLTTPCCASTARTHITSFINDER_H
11
12 #include "AliHLTTPCCADef.h"
13 #include "AliHLTTPCCAHitId.h"
14
15 class AliHLTTPCCATracker;
16
17 /**
18  * @class AliHLTTPCCAStartHitsFinder
19  *
20  */
21 class AliHLTTPCCAStartHitsFinder
22 {
23   public:
24     class AliHLTTPCCASharedMemory
25     {
26         friend class AliHLTTPCCAStartHitsFinder;
27       public:
28 #if !defined(HLTCA_GPUCODE)
29         AliHLTTPCCASharedMemory()
30             : fIRow( 0 ), fNRows( 0 ), fNHits( 0 ), fNOldStartHits( 0 ), fNRowStartHits( 0 ) {}
31
32         AliHLTTPCCASharedMemory( const AliHLTTPCCASharedMemory& /*dummy*/ )
33             : fIRow( 0 ), fNRows( 0 ), fNHits( 0 ), fNOldStartHits( 0 ), fNRowStartHits( 0 ) {}
34         AliHLTTPCCASharedMemory& operator=( const AliHLTTPCCASharedMemory& /*dummy*/ ) { return *this; }
35 #endif
36       protected:
37         int fIRow; // row index
38         int fNRows; // n rows
39         int fNHits; // n hits in the row
40         AliHLTTPCCAHitId fRowStartHits[10240]; // temp. array for the start hits
41         int fNOldStartHits; // n start hits from other jobs
42         int fNRowStartHits; // n start hits for this row
43     };
44
45     GPUd() static int NThreadSyncPoints() { return 3; }
46
47     GPUd() static void Thread( int nBlocks, int nThreads, int iBlock, int iThread, int iSync,
48                                AliHLTTPCCASharedMemory &smem, AliHLTTPCCATracker &tracker );
49 };
50
51
52 #endif