When Pt is bad defined (ex. no field), the multiple scattering effect is calculated...
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliHLTTPCCANeighboursCleaner.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 ALIHLTTPCCANEIGHBOURSCLEANER_H
10 #define ALIHLTTPCCANEIGHBOURSCLEANER_H
11
12
13 #include "AliHLTTPCCADef.h"
14
15 class AliHLTTPCCATracker;
16
17 /**
18  * @class AliHLTTPCCANeighboursCleaner
19  *
20  */
21 class AliHLTTPCCANeighboursCleaner
22 {
23   public:
24     class AliHLTTPCCASharedMemory
25     {
26         friend class AliHLTTPCCANeighboursCleaner;
27       public:
28 #if !defined(HLTCA_GPUCODE)
29         AliHLTTPCCASharedMemory()
30             : fIRow( 0 ), fIRowUp( 0 ), fIRowDn( 0 ), fNRows( 0 ), fNHits( 0 ) {}
31         AliHLTTPCCASharedMemory( const AliHLTTPCCASharedMemory& /*dummy*/ )
32             : fIRow( 0 ), fIRowUp( 0 ), fIRowDn( 0 ), fNRows( 0 ), fNHits( 0 ) {}
33         AliHLTTPCCASharedMemory& operator=( const AliHLTTPCCASharedMemory& /*dummy*/ ) { return *this; }
34 #endif
35
36       protected:
37         int fIRow; // current row index
38         int fIRowUp; // current row index
39         int fIRowDn; // current row index
40         int fNRows; // number of rows
41         int fNHits; // number of hits
42     };
43
44     GPUd() static int NThreadSyncPoints() { return 1; }
45
46     GPUd() static void Thread( int /*nBlocks*/, int nThreads, int iBlock, int iThread, int iSync,
47                                AliHLTTPCCASharedMemory &smem, AliHLTTPCCATracker &tracker );
48 };
49
50
51 #endif