]>
Commit | Line | Data |
---|---|---|
63d8b79d | 1 | //-*- Mode: C++ -*- |
2 | // ************************************************************************ | |
fbb9b71b | 3 | // This file is property of and copyright by the ALICE HLT Project * |
63d8b79d | 4 | // ALICE Experiment at CERN, All rights reserved. * |
5 | // See cxx source for full Copyright notice * | |
6 | // * | |
7 | //************************************************************************* | |
8 | ||
9 | ||
0f1f07c3 | 10 | #ifndef ALIHLTTPCCASLICEOUTTRACK_H |
11 | #define ALIHLTTPCCASLICEOUTTRACK_H | |
63d8b79d | 12 | |
5cb6ddd4 | 13 | #include "AliHLTTPCCABaseTrackParam.h" |
0f1f07c3 | 14 | #include "AliHLTTPCCASliceOutCluster.h" |
63d8b79d | 15 | |
16 | /** | |
0f1f07c3 | 17 | * @class AliHLTTPCCASliceOutTrack |
18 | * AliHLTTPCCASliceOutTrack class is used to store TPC tracks, | |
63d8b79d | 19 | * which are reconstructed by the TPCCATracker slice tracker. |
fbb9b71b | 20 | * |
63d8b79d | 21 | * The class contains: |
fbb9b71b | 22 | * - fitted track parameters at its first row, the covariance matrix, \Chi^2, NDF (number of degrees of freedom ) |
63d8b79d | 23 | * - n of clusters assigned to the track |
0f1f07c3 | 24 | * - clusters in corresponding cluster arrays |
63d8b79d | 25 | * |
26 | * The class is used to transport the data between AliHLTTPCCATracker{Component} and AliHLTTPCCAGBMerger{Component} | |
27 | * | |
28 | */ | |
0f1f07c3 | 29 | class AliHLTTPCCASliceOutTrack |
63d8b79d | 30 | { |
fbb9b71b | 31 | public: |
32 | ||
33 | GPUhd() int NClusters() const { return fNClusters; } | |
5cb6ddd4 | 34 | GPUhd() const AliHLTTPCCABaseTrackParam &Param() const { return fParam; } |
0f1f07c3 | 35 | GPUhd() const AliHLTTPCCASliceOutCluster &Cluster( int i ) const { return fClusters[i]; } |
63d8b79d | 36 | |
fbb9b71b | 37 | GPUhd() void SetNClusters( int v ) { fNClusters = v; } |
5cb6ddd4 | 38 | GPUhd() void SetParam( const AliHLTTPCCABaseTrackParam &v ) { fParam = v; } |
0f1f07c3 | 39 | GPUhd() void SetCluster( int i, const AliHLTTPCCASliceOutCluster &v ) { fClusters[i] = v; } |
40 | ||
41 | GPUhd() static int GetSize( int nClust ) { return sizeof(AliHLTTPCCASliceOutTrack)+nClust*sizeof(AliHLTTPCCASliceOutCluster) ;} | |
42 | ||
43 | GPUhd() AliHLTTPCCASliceOutTrack *NextTrack(){ | |
44 | return ( AliHLTTPCCASliceOutTrack*)( ((char*)this) + GetSize( fNClusters ) ); | |
45 | } | |
46 | ||
47 | GPUhd() const AliHLTTPCCASliceOutTrack *GetNextTrack() const{ | |
48 | return ( AliHLTTPCCASliceOutTrack*)( ((char*)this) + GetSize( fNClusters ) ); | |
49 | } | |
63d8b79d | 50 | |
fbb9b71b | 51 | private: |
63d8b79d | 52 | |
5cb6ddd4 | 53 | AliHLTTPCCABaseTrackParam fParam; //* fitted track parameters at its innermost cluster |
fbb9b71b | 54 | int fNClusters; //* number of track clusters |
0f1f07c3 | 55 | AliHLTTPCCASliceOutCluster fClusters[0]; //* track clusters |
63d8b79d | 56 | }; |
57 | ||
58 | ||
0f1f07c3 | 59 | #endif |