Project
Loading...
Searching...
No Matches
GPUTPCRow.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 GPUTPCROW_H
16#define GPUTPCROW_H
17
18#include "GPUTPCDef.h"
19#include "GPUTPCGrid.h"
20
21namespace o2::gpu
22{
31{
32 friend class GPUTPCTrackingData;
33
34 public:
35 GPUhd() int32_t NHits() const
36 {
37 return mNHits;
38 }
39 GPUhd() float X() const { return mX; }
40 GPUhd() float MaxY() const { return mMaxY; }
41 GPUhd() const GPUTPCGrid& Grid() const { return mGrid; }
42
43 GPUhd() float Hy0() const { return mHy0; }
44 GPUhd() float Hz0() const { return mHz0; }
45 GPUhd() float HstepY() const { return mHstepY; }
46 GPUhd() float HstepZ() const { return mHstepZ; }
47 GPUhd() float HstepYi() const { return mHstepYi; }
48 GPUhd() float HstepZi() const { return mHstepZi; }
49 GPUhd() int32_t HitNumberOffset() const { return mHitNumberOffset; }
50 GPUhd() uint32_t FirstHitInBinOffset() const { return mFirstHitInBinOffset; }
51 GPUhd() static float getTPCMaxY1X() { return 0.1763269f; } // 0.1763269 = tan(2Pi / (2 * 18))
52 GPUhd() float getTPCMaxY() const { return getTPCMaxY1X() * mX; }
53
54 private:
57
58 int32_t mNHits; // number of hits
59 float mX; // X coordinate of the row
60 float mMaxY; // maximal Y coordinate of the row
61 GPUTPCGrid mGrid; // grid of hits
62
63 // hit packing:
64 float mHy0; // offset
65 float mHz0; // offset
66 float mHstepY; // step size
67 float mHstepZ; // step size
68 float mHstepYi; // inverse step size
69 float mHstepZi; // inverse step size
70
71 int32_t mHitNumberOffset; // index of the first hit in the hit array, used as offset in GPUTPCTrackingData::LinkUp/DownData/HitDataY/...
72 uint32_t mFirstHitInBinOffset; // offset in Tracker::mRowData to find the FirstHitInBin
73};
74} // namespace o2::gpu
75
76#endif // GPUTPCROW_H
GPUhd() int32_t NHits() const
Definition GPUTPCRow.h:35
GPUhd() float getTPCMaxY() const
Definition GPUTPCRow.h:52
GPUhd() float HstepYi() const
Definition GPUTPCRow.h:47
GPUhd() float Hy0() const
Definition GPUTPCRow.h:43
GPUhd() float HstepZ() const
Definition GPUTPCRow.h:46
GPUhd() float HstepY() const
Definition GPUTPCRow.h:45
GPUhd() uint32_t FirstHitInBinOffset() const
Definition GPUTPCRow.h:50
GPUhd() float X() const
Definition GPUTPCRow.h:39
GPUhd() float HstepZi() const
Definition GPUTPCRow.h:48
GPUhd() const GPUTPCGrid &Grid() const
Definition GPUTPCRow.h:41
GPUhd() float MaxY() const
Definition GPUTPCRow.h:40
GPUhd() int32_t HitNumberOffset() const
Definition GPUTPCRow.h:49
GPUhd() static float getTPCMaxY1X()
Definition GPUTPCRow.h:51
GPUhd() float Hz0() const
Definition GPUTPCRow.h:44