Project
Loading...
Searching...
No Matches
GPUTPCBaseTrackParam.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
14
15#ifndef GPUTPCBASETRACKPARAM_H
16#define GPUTPCBASETRACKPARAM_H
17
18#include "GPUTPCDef.h"
19
20namespace o2::gpu
21{
22class GPUTPCTrackParam;
23
32 GPUd() float X() const { return mX; }
33 GPUd() float Y() const { return mP[0]; }
34 GPUd() float Z() const { return mP[1]; }
35 GPUd() float SinPhi() const { return mP[2]; }
36 GPUd() float DzDs() const { return mP[3]; }
37 GPUd() float QPt() const { return mP[4]; }
38 GPUd() float ZOffset() const { return mZOffset; }
39
40 GPUd() float Err2Y() const { return mC[0]; }
41 GPUd() float Err2Z() const { return mC[2]; }
42 GPUd() float Err2SinPhi() const { return mC[5]; }
43 GPUd() float Err2DzDs() const { return mC[9]; }
44 GPUd() float Err2QPt() const { return mC[14]; }
45 GPUhd() const float* Cov() const { return mC; }
46 GPUd() float GetCov(int32_t i) const { return mC[i]; }
47 GPUhd() void SetCov(int32_t i, float v) { mC[i] = v; }
48
49 GPUhd() float GetX() const { return mX; }
50 GPUhd() float GetY() const { return mP[0]; }
51 GPUhd() float GetZ() const { return mP[1]; }
52 GPUhd() float GetSinPhi() const { return mP[2]; }
53 GPUhd() float GetDzDs() const { return mP[3]; }
54 GPUhd() float GetQPt() const { return mP[4]; }
55 GPUhd() float GetZOffset() const { return mZOffset; }
56
57 GPUd() float GetKappa(float Bz) const { return -mP[4] * Bz; }
58
59 GPUhd() const float* Par() const { return mP; }
60 GPUd() const float* GetPar() const { return mP; }
61 GPUd() float GetPar(int32_t i) const { return (mP[i]); }
62
63 GPUhd() void SetPar(int32_t i, float v) { mP[i] = v; }
64
65 GPUd() void SetX(float v) { mX = v; }
66 GPUd() void SetY(float v) { mP[0] = v; }
67 GPUd() void SetZ(float v) { mP[1] = v; }
68 GPUd() void SetSinPhi(float v) { mP[2] = v; }
69 GPUd() void SetDzDs(float v) { mP[3] = v; }
70 GPUd() void SetQPt(float v) { mP[4] = v; }
71 GPUd() void SetZOffset(float v) { mZOffset = v; }
72
73 // WARNING, Track Param Data is copied in the GPU Tracklet Constructor element by element instead of using copy constructor!!!
74 // This is neccessary for performance reasons!!!
75 // Changes to Elements of this class therefore must also be applied to TrackletConstructor!!!
76 float mX; // x position
77 float mC[15]; // the covariance matrix for Y,Z,SinPhi,..
78 float mZOffset; // z offset
79 float mP[5]; // 'active' track parameters: Y, Z, SinPhi, DzDs, q/Pt
80};
81} // namespace o2::gpu
82
83#endif
int32_t i
const GLdouble * v
Definition glcorearb.h:832
typedef void(APIENTRYP PFNGLCULLFACEPROC)(GLenum mode)
GPUhd() const float *Par() const
GPUhd() void SetPar(int32_t i
GPUd() float Err2SinPhi() const
GPUhd() const float *Cov() const
GPUd() float Err2DzDs() const
GPUhd() float GetSinPhi() const
GPUd() void SetSinPhi(float v)
GPUhd() float GetZOffset() const
GPUd() float GetCov(int32_t i) const
GPUd() float GetPar(int32_t i) const
GPUhd() void SetCov(int32_t i
GPUd() float GetKappa(float Bz) const
GPUd() const float *GetPar() const
GPUd() void SetZOffset(float v)