14 constexpr uint32_t qualityMask = 0x0000ffffu;
15 constexpr uint32_t provenanceMask = 0x3fff0000u;
16 constexpr uint32_t gainMask = 0xc0000000u;
19 packQualityProvenance(
const uint16_t quality,
const uint16_t provenance) {
20 return static_cast<uint32_t>(quality) |
21 ((
static_cast<uint32_t>(provenance) << 16) & provenanceMask);
25 unpackQuality(
const uint32_t packed) {
30 unpackProvenance(
const uint32_t packed) {
45 const uint32_t qualityProvenance =
49 static_cast<uint32_t
>(trans->
gain() & 0x3) << 30;
59 const uint32_t qualityAndGain =
66 unpackQuality(qualityAndGain),
67 unpackProvenance(qualityAndGain),
value_type get_compact() const
Get the compact id.
Identifier32 get_identifier32() const
Get the 32-bit version Identifier, will be invalid if >32 bits needed.
virtual void transToPers(const LArRawChannel *trans, LArRawChannel_p2 *pers, MsgStream &log) const override
virtual void persToTrans(const LArRawChannel_p2 *pers, LArRawChannel *trans, MsgStream &log) const override
persistent class for LArRawChannel, version p2.
unsigned int m_qualityandgain
Liquid Argon ROD output object base class.
uint16_t provenance() const
HWIdentifier identify() const
CaloGain::CaloGain gain() const
H5::CompType packed(H5::CompType in)