]>
Commit | Line | Data |
---|---|---|
73a33d2e | 1 | //-*- Mode: C++ -*- |
5cb6ddd4 | 2 | // $Id: AliHLTTPCCABaseTrackParam.h 35151 2009-10-01 13:35:10Z sgorbuno $ |
73a33d2e | 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 | ||
5cb6ddd4 | 11 | #ifndef ALIHLTTPCCABASETRACKPARAM_H |
12 | #define ALIHLTTPCCABASETRACKPARAM_H | |
73a33d2e | 13 | |
14 | #include "AliHLTTPCCADef.h" | |
43422963 | 15 | MEM_CLASS_PRE() class AliHLTTPCCATrackParam; |
73a33d2e | 16 | |
17 | /** | |
5cb6ddd4 | 18 | * @class AliHLTTPCCABaseTrackParam |
73a33d2e | 19 | * |
5cb6ddd4 | 20 | * AliHLTTPCCABaseTrackParam class contains track parameters |
21 | * used in output of the AliHLTTPCCATracker slice tracker. | |
73a33d2e | 22 | * This class is used for transfer between tracker and merger and does not contain the covariance matrice |
23 | */ | |
43422963 | 24 | MEM_CLASS_PRE() class AliHLTTPCCABaseTrackParam |
73a33d2e | 25 | { |
26 | public: | |
27 | ||
28 | GPUd() float X() const { return fX; } | |
29 | GPUd() float Y() const { return fP[0]; } | |
30 | GPUd() float Z() const { return fP[1]; } | |
31 | GPUd() float SinPhi() const { return fP[2]; } | |
32 | GPUd() float DzDs() const { return fP[3]; } | |
33 | GPUd() float QPt() const { return fP[4]; } | |
34 | ||
2fba026d | 35 | GPUhd() float GetX() const { return fX; } |
36 | GPUhd() float GetY() const { return fP[0]; } | |
37 | GPUhd() float GetZ() const { return fP[1]; } | |
38 | GPUhd() float GetSinPhi() const { return fP[2]; } | |
39 | GPUhd() float GetDzDs() const { return fP[3]; } | |
40 | GPUhd() float GetQPt() const { return fP[4]; } | |
73a33d2e | 41 | |
42 | GPUd() float GetKappa( float Bz ) const { return -fP[4]*Bz; } | |
43 | ||
43422963 | 44 | GPUhd() MakeType(const float*) Par() const { return fP; } |
45 | GPUd() const MakeType(float*) GetPar() const { return fP; } | |
73a33d2e | 46 | GPUd() float GetPar(int i) const { return(fP[i]); } |
47 | ||
48 | GPUhd() void SetPar( int i, float v ) { fP[i] = v; } | |
49 | ||
50 | GPUd() void SetX( float v ) { fX = v; } | |
51 | GPUd() void SetY( float v ) { fP[0] = v; } | |
52 | GPUd() void SetZ( float v ) { fP[1] = v; } | |
53 | GPUd() void SetSinPhi( float v ) { fP[2] = v; } | |
54 | GPUd() void SetDzDs( float v ) { fP[3] = v; } | |
55 | GPUd() void SetQPt( float v ) { fP[4] = v; } | |
56 | ||
57 | private: | |
58 | //WARNING, Track Param Data is copied in the GPU Tracklet Constructor element by element instead of using copy constructor!!! | |
59 | //This is neccessary for performance reasons!!! | |
60 | //Changes to Elements of this class therefore must also be applied to TrackletConstructor!!! | |
61 | float fX; // x position | |
62 | float fP[5]; // 'active' track parameters: Y, Z, SinPhi, DzDs, q/Pt | |
63 | }; | |
64 | ||
5cb6ddd4 | 65 | #endif |