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;
56 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);
70 float getTot()
const {
return mTot; }
71 void setTot(
float tot) { mTot = tot; }
80 if (mR == RadiusOutOfRange) {
88 if (mPhi == PhiOutOfRange) {
89 mPhi = o2::gpu::CAMath::ATan2(
getY(),
getX());
95 if (mR == RadiusOutOfRange) {
103 if (mPhi == PhiOutOfRange) {
104 return o2::gpu::CAMath::ATan2(
getY(),
getX());
131 int getBC()
const {
return int(mTimeRaw * BC_TIME_INPS_INV); }
133 void setDigitInfo(
int idig,
int ch,
double t,
float tot);
143#if !defined(GPUCA_GPUCODE) && !defined(GPUCA_STANDALONE)
152 float mR = RadiusOutOfRange;
153 float mPhi = PhiOutOfRange;
157 int mDigitInfoCh[6] = {0, 0, 0, 0, 0, 0};
158 double mDigitInfoT[6] = {0., 0., 0., 0., 0., 0.};
159 float mDigitInfoTOT[6] = {0., 0., 0., 0., 0., 0.};
161 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
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)
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 ...