15#ifndef ALICEO2_DATAFORMATSTPC_CLUSTERNATIVE_H
16#define ALICEO2_DATAFORMATSTPC_CLUSTERNATIVE_H
17#ifndef GPUCA_GPUCODE_DEVICE
31class ConstMCTruthContainer;
33class ConstMCTruthContainerView;
80 GPUd()
ClusterNative(uint32_t
time, uint8_t
flags, uint16_t
pad, uint8_t
sigmaTime, uint8_t
sigmaPad, uint16_t
qmax, uint16_t
qtot) :
padPacked(
pad),
sigmaTimePacked(
sigmaTime),
sigmaPadPacked(
sigmaPad),
qMax(
qmax),
qTot(
qtot)
85 GPUd() uint16_t getQmax()
const {
return qMax; }
86 GPUd() uint16_t getQtot()
const {
return qTot; }
143 if (this->getTimePacked() != rhs.getTimePacked()) {
144 return (this->getTimePacked() < rhs.getTimePacked());
145 }
else if (this->padPacked != rhs.padPacked) {
146 return (this->padPacked < rhs.padPacked);
147 }
else if (this->sigmaTimePacked != rhs.sigmaTimePacked) {
148 return (this->sigmaTimePacked < rhs.sigmaTimePacked);
149 }
else if (this->sigmaPadPacked != rhs.sigmaPadPacked) {
150 return (this->sigmaPadPacked < rhs.sigmaPadPacked);
151 }
else if (this->qMax != rhs.qMax) {
152 return (this->qMax < rhs.qMax);
153 }
else if (this->qTot != rhs.qTot) {
154 return (this->qTot < rhs.qTot);
156 return (this->getFlags() < rhs.getFlags());
162 return this->getTimePacked() == rhs.getTimePacked() &&
163 this->padPacked == rhs.padPacked &&
164 this->sigmaTimePacked == rhs.sigmaTimePacked &&
165 this->sigmaPadPacked == rhs.sigmaPadPacked &&
166 this->qMax == rhs.qMax &&
167 this->qTot == rhs.qTot &&
168 this->getFlags() == rhs.getFlags();
typedef void(APIENTRYP PFNGLCULLFACEPROC)(GLenum mode)
constexpr int MAXGLOBALPADROW
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
unsigned int nClusters[constants::MAXSECTOR][constants::MAXGLOBALPADROW]
unsigned int nClustersSector[constants::MAXSECTOR]
const o2::dataformats::ConstMCTruthContainerView< o2::MCCompLabel > * clustersMCTruth
std::pair< ConstMCLabelContainer, ConstMCLabelContainerView > ConstMCLabelContainerViewWithBuffer
unsigned int nClustersTotal
const ClusterNative * clusters[constants::MAXSECTOR][constants::MAXGLOBALPADROW]
unsigned int clusterOffset[constants::MAXSECTOR][constants::MAXGLOBALPADROW]
const ClusterNative * clustersLinear
GPUd() bool operator<(const ClusterNative &rhs) const
GPUd() static float unpackTime(uint32_t time)
static constexpr int scaleSigmaTimePacked
uint8_t uint16_t uint8_t uint8_t uint16_t uint16_t qtot
uint8_t uint16_t uint8_t sigmaTime
uint8_t uint16_t uint8_t uint8_t uint16_t qmax
GPUd() uint32_t getTimePacked() const
GPUd() void setFlags(uint8_t flags)
GPUd() uint16_t getQmax() const
GPUd() uint8_t getFlags() const
GPUd() float getSigmaTime() const
static constexpr int scaleTimePacked
GPUdDefault() ClusterNative()=default
GPUd() float getTime() const
GPUd() static float unpackPad(uint16_t pad)
GPUd() void setTime(float time)
GPUd() void setTimeFlags(float time
static constexpr int scaleSigmaPadPacked
GPUd() static uint16_t packPad(float pad)
uint8_t uint16_t uint8_t uint8_t sigmaPad
GPUd() uint16_t getQtot() const
GPUd() void setSigmaPad(float sigmaPad)
GPUd() float getPad() const
static constexpr int scalePadPacked
GPUd() void setPad(float pad)
GPUd() void setTimePacked(uint32_t timePacked)
GPUd() static uint32_t packTime(float time)
GPUd() void setTimePackedFlags(uint32_t timePacked
GPUd() float getSigmaPad() const
GPUd() void setSigmaTime(float sigmaTime)