16#ifndef TRACKINGITS_INCLUDE_TRACKLET_H_
17#define TRACKINGITS_INCLUDE_TRACKLET_H_
26#ifndef GPUCA_GPUCODE_DEVICE
29#include <fmt/format.h>
41 GPUhdi()
unsigned char isEmpty()
const
45 GPUhdi() auto getMinRof() const noexcept {
return o2::gpu::CAMath::Min(
rof[0],
rof[1]); }
46 GPUhdi() auto getMaxRof() const noexcept {
return o2::gpu::CAMath::Max(
rof[0],
rof[1]); }
48 GPUhdi() auto getSpanRof(const
Tracklet&
o) const noexcept {
return o2::gpu::CAMath::Max(getMaxRof(),
o.getMaxRof()) - o2::gpu::CAMath::Min(getMinRof(),
o.getMinRof()); }
65 const
Cluster& firstCluster, const
Cluster& secondCluster,
short rof0 = -1,
short rof1 = -1)
66 : firstClusterIndex{firstClusterOrderingIndex},
67 secondClusterIndex{secondClusterOrderingIndex},
68 tanLambda{(firstCluster.zCoordinate - secondCluster.zCoordinate) /
69 (firstCluster.radius - secondCluster.radius)},
70 phi{o2::gpu::GPUCommonMath::ATan2(firstCluster.yCoordinate - secondCluster.yCoordinate,
71 firstCluster.xCoordinate - secondCluster.xCoordinate)},
72 rof{
static_cast<short>(rof0),
static_cast<short>(rof1)}
77GPUhdi() Tracklet::Tracklet(const
int idx0, const
int idx1,
float tanL,
float phi,
short rof0,
short rof1)
78 : firstClusterIndex{idx0},
79 secondClusterIndex{idx1},
82 rof{
static_cast<short>(rof0),
static_cast<short>(rof1)}
87GPUhdi() unsigned
char Tracklet::operator<(const Tracklet& t)
const
constexpr int UnusedIndex
GPUhdi() unsigned char operator<(const Tracklet &) const
GPUhdi() auto getMaxRof() const noexcept
const const Cluster const Cluster short short rof1
GPUhdi() auto getMinRof() const noexcept
GPUhd() void print() const
GPUhdi() auto getSpanRof(const Tracklet &o) const noexcept
const const Cluster const Cluster short rof0
GPUhdi() auto getDeltaRof() const
GPUhdDefault() Tracklet()=default
GPUhdi() Tracklet(const int