]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/tracking-ca/AliHLTTPCCATrack.h
update of GPU tracker from David Rohr
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliHLTTPCCATrack.h
1 //-*- Mode: C++ -*-
2 // @(#) $Id$
3 // ************************************************************************
4 // This file is property of and copyright by the ALICE HLT Project        *
5 // ALICE Experiment at CERN, All rights reserved.                         *
6 // See cxx source for full Copyright notice                               *
7 //                                                                        *
8 //*************************************************************************
9
10 #ifndef ALIHLTTPCCATRACK_H
11 #define ALIHLTTPCCATRACK_H
12
13 #include "AliHLTTPCCADef.h"
14 #include "AliHLTTPCCATrackParam.h"
15
16 /**
17  * @class ALIHLTTPCCAtrack
18  *
19  * The class describes the [partially] reconstructed TPC track [candidate].
20  * The class is dedicated for internal use by the AliHLTTPCCATracker algorithm.
21  * The track parameters at both ends are stored separately in the AliHLTTPCCAEndPoint class
22  */
23 class AliHLTTPCCATrack
24 {
25   public:
26 #if !defined(HLTCA_GPUCODE)
27     AliHLTTPCCATrack() : fAlive( 0 ), fFirstHitID( 0 ), fNHits( 0 ), fParam() {}
28     ~AliHLTTPCCATrack() {}
29 #endif
30
31     GPUhd() bool Alive()               const { return fAlive; }
32     GPUhd() int  NHits()               const { return fNHits; }
33     GPUhd() int  FirstHitID()          const { return fFirstHitID; }
34     GPUhd() const AliHLTTPCCATrackParam &Param() const { return fParam; };
35
36     GPUhd() void SetAlive( bool v )               { fAlive = v; }
37     GPUhd() void SetNHits( int v )               { fNHits = v; }
38     GPUhd() void SetFirstHitID( int v )          { fFirstHitID = v; }
39     GPUhd() void SetParam( AliHLTTPCCATrackParam v ) { fParam = v; };
40
41 #ifndef CUDA_DEVICE_EMULATION
42   private:
43 #endif
44
45     bool fAlive;       // flag for mark tracks used by the track merger
46     int  fFirstHitID; // index of the first track cell in the track->cell pointer array
47     int  fNHits;      // number of track cells
48     AliHLTTPCCATrackParam fParam; // track parameters
49
50   private:
51     //void Dummy(); // to make rulechecker happy by having something in .cxx file
52
53     //ClassDef(AliHLTTPCCATrack,1)
54 };
55
56 #endif