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)