12#ifndef O2_ITS3_ALIGNMENT_LABEL_H
13#define O2_ITS3_ALIGNMENT_LABEL_H
33 return (
T(1) <<
b) -
T(1);
61 constexpr int rawGBL(
T dof)
const noexcept {
return static_cast<int>(
raw(dof)); }
78 return std::format(
"Det:{} Id:{} Sens:{} Calib:{}",
det(),
id(),
sens(),
calib());
constexpr T raw(T dof) const noexcept
produce the raw Millepede label for a given DOF index (rigid body: calib=0 in label)
static constexpr int ID_BITS
constexpr T det() const noexcept
static constexpr int DET_SHIFT
static constexpr int TOTAL_BITS
constexpr auto operator<=>(const GlobalLabel &) const noexcept=default
GlobalLabel asCalib() const noexcept
return a copy of this label with the CALIB bit set (for calibration DOFs on same volume)
static constexpr T ID_MASK
constexpr bool calib() const noexcept
GlobalLabel(T det, T id, bool sens, bool calib=false)
static constexpr int SENS_BITS
std::string asString() const
static constexpr int ID_SHIFT
static constexpr T ID_MAX
static constexpr T SENS_MAX
static constexpr int DOF_BITS
static constexpr T CALIB_MASK
static constexpr int CALIB_SHIFT
static constexpr int DOF_SHIFT
static constexpr T DOF_MAX
static constexpr T DET_MASK
static constexpr T DET_MAX
constexpr int rawGBL(T dof) const noexcept
static constexpr int SENS_SHIFT
static constexpr int CALIB_BITS
constexpr bool sens() const noexcept
static constexpr T bitMask(int b) noexcept
static constexpr int DET_BITS
static constexpr T DOF_MASK
constexpr T id() const noexcept
static constexpr T CALIB_MAX
static constexpr T SENS_MASK
GLboolean GLboolean GLboolean b