Line data Source code
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 0 : AliHLTTPCCATrack() : fAlive( 0 ), fFirstHitID( 0 ), fNHits( 0 ), fLocalTrackId( -1 ), fParam() {}
28 0 : ~AliHLTTPCCATrack() {}
29 : #endif //!HLTCA_GPUCODE
30 :
31 0 : GPUhd() bool Alive() const { return fAlive; }
32 0 : GPUhd() int NHits() const { return fNHits; }
33 0 : GPUhd() int LocalTrackId() const { return fLocalTrackId; }
34 0 : GPUhd() int FirstHitID() const { return fFirstHitID; }
35 0 : GPUhd() MakeType(const MEM_LG(AliHLTTPCCABaseTrackParam)&) Param() const { return fParam; }
36 :
37 0 : GPUhd() void SetAlive( bool v ) { fAlive = v; }
38 0 : GPUhd() void SetNHits( int v ) { fNHits = v; }
39 0 : GPUhd() void SetLocalTrackId( int v ) { fLocalTrackId = v; }
40 0 : GPUhd() void SetFirstHitID( int v ) { fFirstHitID = v; }
41 :
42 0 : 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
|