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 *
7 #ifndef ALIHLTTPCCASTARTHITSFINDER_H
8 #define ALIHLTTPCCASTARTHITSFINDER_H
10 #include "AliHLTTPCCADef.h"
12 class AliHLTTPCCATracker;
15 * @class AliHLTTPCCAStartHitsFinder
18 class AliHLTTPCCAStartHitsFinder
21 class AliHLTTPCCASharedMemory
23 friend class AliHLTTPCCAStartHitsFinder;
25 #if !defined(HLTCA_GPUCODE)
26 AliHLTTPCCASharedMemory()
27 : fIRow(0), fNRows(0), fNHits(0), fHitLinkDown(0), fHitLinkUp(0), fNOldStartHits(0), fNRowStartHits(0)
30 AliHLTTPCCASharedMemory( const AliHLTTPCCASharedMemory& /*dummy*/)
31 : fIRow(0), fNRows(0), fNHits(0), fHitLinkDown(0), fHitLinkUp(0), fNOldStartHits(0), fNRowStartHits(0)
33 AliHLTTPCCASharedMemory& operator=(const AliHLTTPCCASharedMemory& /*dummy*/){ return *this; }
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
46 GPUd() static Int_t NThreadSyncPoints(){ return 3; }
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 );