15#ifndef ALICEO2_TOF_CLUSTER_H
16#define ALICEO2_TOF_CLUSTER_H
22#if !defined(GPUCA_GPUCODE) && !defined(GPUCA_STANDALONE)
23#include <boost/serialization/base_object.hpp>
38 static constexpr float RadiusOutOfRange = 9999;
39 static constexpr float PhiOutOfRange = 9999;
41 static constexpr int NPADSXSECTOR = 8736;
58 Cluster(std::int16_t sensid,
float x,
float y,
float z,
float sy2,
float sz2,
float syz,
double timeRaw,
double time,
float tot,
int L0L1latency,
int deltaBC,
float geanttime = 0.0,
double t0 = 0.0);
75 float getTot()
const {
return mTot; }
76 void setTot(
float tot) { mTot = tot; }
85 if (mR == RadiusOutOfRange) {
93 if (mPhi == PhiOutOfRange) {
94 mPhi = o2::gpu::CAMath::ATan2(
getY(),
getX());
100 if (mR == RadiusOutOfRange) {
108 if (mPhi == PhiOutOfRange) {
109 return o2::gpu::CAMath::ATan2(
getY(),
getX());
136 int getBC()
const {
return int(mTimeRaw * BC_TIME_INPS_INV); }
138 void setDigitInfo(
int idig,
int ch,
double t,
float tot);
148#if !defined(GPUCA_GPUCODE) && !defined(GPUCA_STANDALONE)
157 float mR = RadiusOutOfRange;
158 float mPhi = PhiOutOfRange;
162 int mDigitInfoCh[6] = {0, 0, 0, 0, 0, 0};
163 double mDigitInfoT[6] = {0., 0., 0., 0., 0., 0.};
164 float mDigitInfoTOT[6] = {0., 0., 0., 0., 0., 0.};
166 double mT0true = 0.0;
Header to collect LHC related constants.
void setBits(std::uint8_t b)
void setCount(std::int8_t c)
std::int8_t getCount() const
void setSensorID(std::int16_t sid)
std::uint8_t getBits() const
bool isBitSet(int bit) const
std::int16_t getSensorID() const
HMPID cluster implementation.
int getEntryInTree() const
void setDigitInfo(int idig, int ch, double t, float tot)
bool isAdditionalChannelSet(int bit) const
void setT0true(double val)
int getMainContributingChannel() const
double getDigitInfoT(int idig) const
int getDigitInfoCH(int idig) const
void setPadInSector(std::int16_t value)
std::int16_t getPadInSector() const
void setL0L1Latency(int value)
void setEntryInTree(int value)
int getNumOfContributingChannels() const
void setInNominalSector()
double getTimeRaw() const
int getL0L1Latency() const
void setSector(std::int8_t value)
float getDigitInfoTOT(int idig) const
void setTime(double time)
void setAdditionalContributingChannels(std::uint8_t mask)
std::int8_t getSector() const
void setMainContributingChannel(int newvalue)
void setTimeRaw(double timeRaw)
void setTgeant(float val)
bool isInNominalSector() const
std::uint8_t getAdditionalContributingChannels() const
friend class boost::serialization::access
void setDeltaBC(int value)
void addBitInContributingChannels(int bit)
void resetBitInContributingChannels(int bit)
GLsizei const GLfloat * value
GLuint GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat t0
GLdouble GLdouble GLdouble z
constexpr double LHCBunchSpacingNS
std::ostream & operator<<(std::ostream &os, Cluster &c)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...