]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/tracking-ca/AliHLTTPCCATracklet.h
update of GPU tracker from David Rohr
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliHLTTPCCATracklet.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 ALIHLTTPCCATRACKLET_H
10 #define ALIHLTTPCCATRACKLET_H
11
12 #include "AliHLTTPCCADef.h"
13 #include "AliHLTTPCCATrackParam.h"
14
15 /**
16  * @class ALIHLTTPCCATracklet
17  *
18  * The class describes the reconstructed TPC track candidate.
19  * The class is dedicated for internal use by the AliHLTTPCCATracker algorithm.
20  */
21 class AliHLTTPCCATracklet
22 {
23   public:
24
25 #if !defined(HLTCA_GPUCODE)
26     AliHLTTPCCATracklet() : fStartHitID( 0 ), fNHits( 0 ), fFirstRow( 0 ), fLastRow( 0 ), fParam() {};
27     void Dummy() const ;
28     ~AliHLTTPCCATracklet() {}
29 #endif
30
31     GPUhd() int StartHitID()            const { return fStartHitID; }
32     GPUhd() int  NHits()                const { return fNHits;      }
33     GPUhd() int  FirstRow()             const { return fFirstRow;   }
34     GPUhd() int  LastRow()              const { return fLastRow;    }
35     GPUhd() const AliHLTTPCCATrackParam &Param() const { return fParam;      }
36     GPUhd() int  RowHit( int i )   const { return fRowHits[i];    }
37
38     GPUhd() void SetStartHitID( int v )           { fStartHitID = v; }
39     GPUhd() void SetNHits( int v )               {  fNHits = v;      }
40     GPUhd() void SetFirstRow( int v )            {  fFirstRow = v;   }
41     GPUhd() void SetLastRow( int v )             {  fLastRow = v;    }
42     GPUhd() void SetParam( const AliHLTTPCCATrackParam &v ) { fParam = v;      }
43     GPUhd() void SetRowHit( int irow, int ih )  { fRowHits[irow] = ih;    }
44
45 #ifndef CUDA_DEVICE_EMULATION
46   private:
47 #endif
48
49     int fStartHitID;            // ID of the starting hit
50     int fNHits;                 // N hits
51     int fFirstRow;              // first TPC row
52     int fLastRow;               // last TPC row
53     AliHLTTPCCATrackParam fParam; // tracklet parameters
54     int fRowHits[160];          // hit index for each TPC row
55 };
56
57 #endif