]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/tracking-ca/AliHLTTPCCATrack.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[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 "AliHLTTPCCABaseTrackParam.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  MEM_CLASS_PRE() class AliHLTTPCCATrack
24 {
25   public:
26 #if !defined(HLTCA_GPUCODE)
27     AliHLTTPCCATrack() : fAlive( 0 ), fFirstHitID( 0 ), fNHits( 0 ), fLocalTrackId( -1 ), fParam() {}
28     ~AliHLTTPCCATrack() {}
29 #endif //!HLTCA_GPUCODE
30
31     GPUhd() bool Alive()               const { return fAlive; }
32     GPUhd() int  NHits()               const { return fNHits; }
33         GPUhd() int  LocalTrackId()        const { return fLocalTrackId; }
34     GPUhd() int  FirstHitID()          const { return fFirstHitID; }
35     GPUhd() MakeType(const MEM_LG(AliHLTTPCCABaseTrackParam)&) Param() const { return fParam; }
36
37     GPUhd() void SetAlive( bool v )              { fAlive = v; }
38     GPUhd() void SetNHits( int v )               { fNHits = v; }
39     GPUhd() void SetLocalTrackId( int v )        { fLocalTrackId = v; }
40     GPUhd() void SetFirstHitID( int v )          { fFirstHitID = v; }
41
42     MEM_TEMPLATE() GPUhd() void SetParam( const MEM_TYPE(AliHLTTPCCABaseTrackParam) &v ) { fParam = v; }
43
44   private:
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         int  fLocalTrackId; //Id of local track this global track belongs to, index of this track itself if it is a local track
49   MEM_LG(AliHLTTPCCABaseTrackParam) fParam; // track parameters
50
51   private:
52     //void Dummy(); // to make rulechecker happy by having something in .cxx file
53
54     //ClassDef(AliHLTTPCCATrack,1)
55 };
56
57 #endif //ALIHLTTPCCATRACK_H