]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/tracking-ca/AliHLTTPCCABaseTrackParam.h
GPU tracker update
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliHLTTPCCABaseTrackParam.h
CommitLineData
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"
5cb6ddd4 15class 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 */
5cb6ddd4 24class 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
44 GPUhd() const float *Par() const { return fP; }
45 GPUd() const float *GetPar() const { return fP; }
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