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