12#ifndef ALICEO2_CPV_CLUSTER_H_
13#define ALICEO2_CPV_CLUSTER_H_
38 uint8_t multiplicity : 5;
46 Cluster(
unsigned char mult,
char mod,
char exMax,
float x,
float z,
float e) :
mMulDigit(mult),
mModule(mod),
mNExMax(exMax),
mLocalPosX(
x),
mLocalPosZ(
z),
mEnergy(e) {}
90 s.multiplicity = std::min(
mMulDigit,
static_cast<unsigned char>(31));
103 void setPacked(uint16_t posX, uint16_t posZ, uint8_t en, uint8_t status)
uint64_t exp(uint64_t base, uint8_t exp) noexcept
Contains CPV cluster parameters.
void setPackedPosZ(uint16_t v)
void setPacked(uint16_t posX, uint16_t posZ, uint8_t en, uint8_t status)
uint16_t getPackedPosX() const
bool operator<(const Cluster &other) const
Comparison oparator, based on time and coordinates.
char mNExMax
number of (Ex-)maxima before unfolding
unsigned char mMulDigit
Digit nultiplicity.
Cluster(const Cluster &clu)=default
Cluster(unsigned char mult, char mod, char exMax, float x, float z, float e)
float mLocalPosX
Center of gravity position in local module coordunates (phi direction)
void setPackedPosX(uint16_t v)
bool operator>(const Cluster &other) const
Comparison oparator, based on time and coordinates.
void setPackedEnergy(uint8_t v)
uint8_t getPackedEnergy() const
unsigned char getMultiplicity() const
uint16_t getPackedPosZ() const
char mModule
Module number.
uint8_t getPackedClusterStatus() const
void getLocalPosition(float &posX, float &posZ) const
float mEnergy
full energy of a cluster
float mLocalPosZ
Center of gravity position in local module coordunates (z direction)
void setPackedClusterStatus(uint8_t v)
void setNExMax(char nmax=1)
GLdouble GLdouble GLdouble z
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
VectorOfTObjectPtrs other