When Pt is bad defined (ex. no field), the multiple scattering effect is calculated...
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliHLTTPCCAMergedTrack.h
1 //-*- Mode: C++ -*-
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                               *
6 //                                                                        *
7 //*************************************************************************
8
9
10 #ifndef ALIHLTTPCCAMERGEDTRACK_H
11 #define ALIHLTTPCCAMERGEDTRACK_H
12
13 #include "AliHLTTPCCATrackParam.h"
14
15 /**
16  * @class AliHLTTPCCAMergedTrack
17  * AliHLTTPCCAMergedTrack class is used to store TPC tracks,
18  * which are reconstructed by the TPCCATracker slice tracker.
19  *
20  * The class contains:
21  * - fitted track parameters at its first row, the covariance matrix, \Chi^2, NDF (number of degrees of freedom )
22  * - n of clusters assigned to the track
23  * - index of its first cluster in corresponding cluster arrays
24  *
25  * The class is used to transport the data between AliHLTTPCCATracker{Component} and AliHLTTPCCAGBMerger{Component}
26  *
27  */
28 class AliHLTTPCCAMergedTrack
29 {
30   public:
31
32     GPUhd() int NClusters()                         const { return fNClusters;       }
33     GPUhd() int FirstClusterRef()                   const { return fFirstClusterRef; }
34     GPUhd() const AliHLTTPCCATrackParam &InnerParam() const { return fInnerParam;      }
35     GPUhd() const AliHLTTPCCATrackParam &OuterParam() const { return fOuterParam;      }
36     GPUhd() float InnerAlpha()                      const { return fInnerAlpha;      }
37     GPUhd() float OuterAlpha()                      const { return fOuterAlpha;      }
38
39     GPUhd() void SetNClusters      ( int v )                  { fNClusters = v;       }
40     GPUhd() void SetFirstClusterRef( int v )                  { fFirstClusterRef = v; }
41     GPUhd() void SetInnerParam( const AliHLTTPCCATrackParam &v ) { fInnerParam = v;      }
42     GPUhd() void SetOuterParam( const AliHLTTPCCATrackParam &v ) { fOuterParam = v;      }
43     GPUhd() void SetInnerAlpha( float v )                       { fInnerAlpha = v;      }
44     GPUhd() void SetOuterAlpha( float v )                       { fOuterAlpha = v;      }
45
46   private:
47
48     AliHLTTPCCATrackParam fInnerParam; //* fitted track parameters at the TPC inner radius
49     AliHLTTPCCATrackParam fOuterParam; //* fitted track parameters at the TPC outer radius
50     float fInnerAlpha;               //* alpha angle for the inner parameters
51     float fOuterAlpha;               //* alpha angle for the outer parameters
52     int fFirstClusterRef;            //* index of the first track cluster in corresponding cluster arrays
53     int fNClusters;                  //* number of track clusters
54 };
55
56
57 #endif