2 #ifndef DataFormats_SiStripCommon_SiStripFecKey_H 3 #define DataFormats_SiStripCommon_SiStripFecKey_H 51 const uint16_t& fec_slot = 0,
52 const uint16_t& fec_ring = 0,
53 const uint16_t& ccu_addr = 0,
54 const uint16_t& ccu_chan = 0,
55 const uint16_t& lld_chan = 0,
56 const uint16_t& i2c_addr = 0);
79 inline const uint16_t&
fecCrate()
const;
82 inline const uint16_t&
fecSlot()
const;
85 inline const uint16_t&
fecRing()
const;
88 inline const uint16_t&
ccuAddr()
const;
91 inline const uint16_t&
ccuChan()
const;
94 inline const uint16_t&
lldChan()
const;
97 inline const uint16_t&
i2cAddr()
const;
102 static uint16_t
hybridPos(
const uint16_t& i2c_addr);
105 static uint16_t
i2cAddr(
const uint16_t& hybrid_pos);
108 static uint16_t
lldChan(
const uint16_t& i2c_addr);
114 static uint16_t
i2cAddr(
const uint16_t& lld_chan,
const bool& first_apv_of_pair);
141 void print(std::stringstream&
ss)
const override;
144 void terse(std::stringstream&
ss)
const override;
235 bool operator()(
const uint32_t&,
const uint32_t&)
const;
242 #endif // DataFormats_SiStripCommon_SiStripFecKey_H
static const uint16_t ccuChanOffset_
static const uint16_t ccuChanMask_
static const uint16_t i2cAddrOffset_
const uint16_t & ccuAddr() const
void initGranularity() override
static const uint16_t fecSlotMask_
static const uint16_t fecRingOffset_
const uint16_t & ccuChan() const
bool isConsistent(const SiStripKey &) const override
bool isEqual(const SiStripKey &) const override
const uint16_t & lldChan() const
static const uint16_t fecCrateMask_
Utility class that identifies a position within the strip tracker control structure, down to the level of an APV25.
static bool firstApvOfPair(const uint16_t &i2c_addr)
static const uint16_t lldChanOffset_
bool operator()(const uint32_t &, const uint32_t &) const
void print(std::stringstream &ss) const override
void initFromPath() override
static uint16_t hybridPos(const uint16_t &i2c_addr)
Constants and enumerated type for sistrip::Granularity.
const uint16_t & i2cAddr() const
void terse(std::stringstream &ss) const override
Base utility class that identifies a position within a logical structure of the strip tracker...
static const uint16_t lldChanMask_
bool isInvalid() const override
bool isValid() const override
static const uint16_t fecSlotOffset_
std::ostream & operator<<(std::ostream &, const SiStripFecKey &)
static const uint16_t ccuAddrMask_
const uint16_t & fecSlot() const
bool operator<(const SiStripFecKey &a, const SiStripFecKey &b)
void initFromValue() override
void initFromKey() override
static const uint16_t i2cAddrMask_
static const uint16_t fecRingMask_
static const uint16_t fecCrateOffset_
const uint16_t & fecRing() const
const uint16_t & fecCrate() const
static const uint16_t ccuAddrOffset_