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 ALIHLTTPCCATRACKLET_H
10 #define ALIHLTTPCCATRACKLET_H
12 #include "AliHLTTPCCADef.h"
13 #include "AliHLTTPCCABaseTrackParam.h"
14 #include "AliHLTTPCCAGPUConfig.h"
17 * @class ALIHLTTPCCATracklet
19 * The class describes the reconstructed TPC track candidate.
20 * The class is dedicated for internal use by the AliHLTTPCCATracker algorithm.
22 MEM_CLASS_PRE() class AliHLTTPCCATracklet
26 #if !defined(HLTCA_GPUCODE)
27 AliHLTTPCCATracklet() : fNHits( 0 ), fFirstRow( 0 ), fLastRow( 0 ), fParam(), fHitWeight(0) {};
29 ~AliHLTTPCCATracklet() {}
30 #endif //!HLTCA_GPUCODE
32 GPUhd() int NHits() const { return fNHits; }
33 GPUhd() int FirstRow() const { return fFirstRow; }
34 GPUhd() int LastRow() const { return fLastRow; }
35 GPUhd() int HitWeight() const { return fHitWeight; }
36 GPUhd() MakeType(const MEM_LG(AliHLTTPCCABaseTrackParam)&) Param() const { return fParam; }
37 #ifndef EXTERN_ROW_HITS
38 GPUhd() int RowHit( int i ) const { return fRowHits[i]; }
39 GPUhd() const int* RowHits() const { return(fRowHits); }
40 GPUhd() void SetRowHit( int irow, int ih ) { fRowHits[irow] = ih; }
41 #endif //EXTERN_ROW_HITS
43 GPUhd() void SetNHits( int v ) { fNHits = v; }
44 GPUhd() void SetFirstRow( int v ) { fFirstRow = v; }
45 GPUhd() void SetLastRow( int v ) { fLastRow = v; }
46 MEM_CLASS_PRE2() GPUhd() void SetParam( const MEM_LG2(AliHLTTPCCABaseTrackParam) &v ) { fParam = reinterpret_cast<const MEM_LG(AliHLTTPCCABaseTrackParam)&>(v); }
47 GPUhd() void SetHitWeight( const int w) { fHitWeight = w; }
51 int fFirstRow; // first TPC row
52 int fLastRow; // last TPC row
53 MEM_LG(AliHLTTPCCABaseTrackParam) fParam; // tracklet parameters
54 #ifndef EXTERN_ROW_HITS
55 int fRowHits[HLTCA_ROW_COUNT + 1]; // hit index for each TPC row
56 #endif //EXTERN_ROW_HITS
57 int fHitWeight; //Hit Weight of Tracklet
60 #endif //ALIHLTTPCCATRACKLET_H