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 *
7 //*************************************************************************
9 #ifndef ALIHLTTPCCASTARTHITSSORTER_H
10 #define ALIHLTTPCCASTARTHITSSORTER_H
12 #include "AliHLTTPCCADef.h"
13 #include "AliHLTTPCCAHitId.h"
15 MEM_CLASS_PRE() class AliHLTTPCCATracker;
18 * @class AliHLTTPCCAStartHitsSorter
21 class AliHLTTPCCAStartHitsSorter
24 MEM_CLASS_PRE() class AliHLTTPCCASharedMemory
26 friend class AliHLTTPCCAStartHitsSorter;
28 #if !defined(HLTCA_GPUCODE)
29 AliHLTTPCCASharedMemory()
30 : fStartRow( 0 ), fNRows( 0 ), fStartOffset( 0 ) {}
32 AliHLTTPCCASharedMemory( const AliHLTTPCCASharedMemory& /*dummy*/ )
33 : fStartRow( 0 ), fNRows( 0 ), fStartOffset( 0 ) {}
34 AliHLTTPCCASharedMemory& operator=( const AliHLTTPCCASharedMemory& /*dummy*/ ) { return *this; }
35 #endif //!HLTCA_GPUCODE
38 int fStartRow; // start row index
39 int fNRows; // number of rows to process
40 int fStartOffset; //start offset for hits sorted by this block
43 GPUd() static int NThreadSyncPoints() { return 1; }
45 GPUd() static void Thread( int nBlocks, int nThreads, int iBlock, int iThread, int iSync,
46 GPUsharedref() MEM_LOCAL(AliHLTTPCCASharedMemory) &smem, GPUconstant() MEM_CONSTANT(AliHLTTPCCATracker) &tracker );
50 #endif //ALIHLTTPCCASTARTHITSSORTER_H