17#ifndef GPUTRDTRACKLETWORD_H
18#define GPUTRDTRACKLETWORD_H
22#ifndef GPUCA_TPC_GEOMETRY_O2
24class AliTRDtrackletWord;
25class AliTRDtrackletMCM;
38#ifndef GPUCA_GPUCODE_DEVICE
47 GPUd() bool operator<=(const
GPUTRDTrackletWord& t)
const {
return (GetHCId() < t.GetHCId()) || (GetHCId() == t.GetHCId()); }
50 GPUd() int32_t GetYbin() const;
51 GPUd() int32_t GetdYbin() const;
56 GPUd() double GetPID(int32_t )
const {
return (
double)GetPID() / 256.f; }
57 GPUd() int32_t GetDetector()
const {
return mHCId / 2; }
59 GPUd() float GetdYdX()
const {
return (GetdYbin() * 140e-4f / 3.f); }
60 GPUd() float GetdY()
const {
return GetdYbin() * 140e-4f; }
61 GPUd() float GetY()
const {
return (GetYbin() * 160e-4f); }
65 GPUd()
void SetDetector(int32_t
id) {
mHCId = 2 *
id + (GetYbin() < 0 ? 0 : 1); }
86 GPUdDefault() GPUTRDTrackletWord(const GPUTRDTrackletWord& rhs) = default;
87 GPUdDefault() GPUTRDTrackletWord& operator=(const GPUTRDTrackletWord& rhs) = default;
91 GPUd()
bool operator<(const GPUTRDTrackletWord& t)
const {
return (getHCID() < t.getHCID()); }
92 GPUd() bool operator>(const GPUTRDTrackletWord& t)
const {
return (getHCID() > t.getHCID()); }
93 GPUd() bool operator<=(const GPUTRDTrackletWord& t)
const {
return (getHCID() < t.getHCID()) || (getHCID() == t.getHCID()); }
95 GPUd() int32_t GetZbin()
const {
return getPadRow(); }
96 GPUd() float GetY()
const {
return getUncalibratedY(); }
97 GPUd() float GetdY()
const {
return getUncalibratedDy(); }
98 GPUd() int32_t GetDetector()
const {
return getDetector(); }
99 GPUd() int32_t GetHCId()
const {
return getHCID(); }
104static_assert(
sizeof(GPUTRDTrackletWord) ==
sizeof(
o2::trd::Tracklet64),
"Incorrect memory layout");
GPUd() void SetTrackletWord(uint32_t trackletWord)
GPUd() void SetHCId(int32_t id)
GPUd() bool operator>(const GPUTRDTrackletWord &t) const
GPUTRDTrackletWord(const AliTRDtrackletWord &rhs)
GPUd() int32_t GetPID() const
GPUd() double GetPID(int32_t) const
GPUd() float GetdYdX() const
GPUd() float GetdY() const
GPUd() float GetY() const
GPUd() void SetDetector(int32_t id)
GPUTRDTrackletWord(const AliTRDtrackletMCM &rhs)
GPUTRDTrackletWord & operator=(const AliTRDtrackletMCM &rhs)
GPUd() uint32_t GetTrackletWord() const
GPUd() int32_t GetDetector() const
GPUd() int32_t GetHCId() const
GPUd() bool operator<(const GPUTRDTrackletWord &t) const
GPUd() GPUTRDTrackletWord(uint32_t trackletWord=0)
GPUdDefault() ~GPUTRDTrackletWord()=default
typedef void(APIENTRYP PFNGLCULLFACEPROC)(GLenum mode)