14 const uint16_t& fec_slot,
15 const uint16_t& fec_ring,
16 const uint16_t& ccu_addr,
17 const uint16_t& ccu_chan,
18 const uint16_t& lld_chan,
19 const uint16_t& i2c_addr ) :
211 const bool& first_apv ) {
222 if ( i2c_addr == 0 ) {
return 0; }
252 }
else {
return false; }
259 if (
isEqual(input) ) {
return true; }
267 }
else {
return false; }
515 std::stringstream
dir;
582 if ( curr != std::string::npos ) {
590 if ( curr != std::string::npos ) {
595 fecCrate_ = std::atoi( fec_crate.c_str() );
599 if ( curr != std::string::npos ) {
604 fecSlot_ = std::atoi( fec_slot.c_str() );
608 if ( curr != std::string::npos ) {
613 fecRing_ = std::atoi( fec_ring.c_str() );
617 if ( curr != std::string::npos ) {
622 ccuAddr_ = std::atoi( ccu_addr.c_str() );
626 if ( curr != std::string::npos ) {
631 ccuChan_ = std::atoi( ccu_chan.c_str() );
635 if ( curr != std::string::npos ) {
640 lldChan_ = std::atoi( lld_chan.c_str() );
644 if ( curr != std::string::npos ) {
645 next = std::string::npos;
649 i2cAddr_ = std::atoi( i2c_addr.c_str() );
658 std::stringstream ss;
731 ss <<
"FEC:crate/slot/ring/CCU/module/LLD/I2C= " 757 ss <<
" [SiStripFecKey::print]" << std::endl
761 << std::setw(8) <<
key() << std::endl
764 <<
" FEC VME crate : " <<
fecCrate() << std::endl
765 <<
" FEC VME slot : " <<
fecSlot() << std::endl
766 <<
" FEC control ring : " <<
fecRing() << std::endl
767 <<
" CCU I2C address : " <<
ccuAddr() << std::endl
768 <<
" CCU chan (FE module) : " <<
ccuChan() << std::endl
769 <<
" LaserDriver channel : " <<
lldChan() << std::endl
770 <<
" APV I2C address : " <<
i2cAddr() << std::endl
771 <<
" Directory : " <<
path() << std::endl
774 <<
" Channel : " <<
channel() << std::endl
781 std::stringstream ss;
static const uint16_t ccuChanOffset_
static const uint16_t APV_I2C_MIN
static const uint16_t ccuChanMask_
static const uint16_t i2cAddrOffset_
const uint16_t & fecRing() const
void print(std::stringstream &ss) const override
static const uint16_t CCU_ADDR_MAX
static const uint16_t CCU_CHAN_MAX
Various generic constants used by DQM.
static const uint16_t CCU_CHAN_MIN
static const uint32_t invalid32_
std::ostream & operator<<(std::ostream &os, const SiStripFecKey &input)
static const uint16_t LLD_CHAN_MIN
void initGranularity() override
static const uint16_t LLD_CHAN_MAX
static const uint16_t fecSlotMask_
static const uint16_t fecRingOffset_
static const uint16_t FEC_CRATE_MIN
static std::string granularity(const sistrip::Granularity &)
const uint16_t & lldChan() const
bool isEqual(const SiStripKey &) const override
static const uint16_t CRATE_SLOT_MAX
const uint16_t & fecSlot() const
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
const uint16_t & i2cAddr() const
static const uint16_t fecCrateMask_
void terse(std::stringstream &ss) const override
static const uint16_t FEC_RING_MAX
static const char fecSlot_[]
Constants and enumerated types for sistrip::View.
static std::string const input
const uint32_t & key() const
static const char ccuChan_[]
static const char ccuAddr_[]
Utility class that identifies a position within the strip tracker control structure, down to the level of an APV25.
static const uint16_t FEC_CRATE_MAX
const sistrip::Granularity & granularity() const
bool isInvalid() const override
static bool firstApvOfPair(const uint16_t &i2c_addr)
static const uint16_t lldChanOffset_
static const char lldChan_[]
static const uint16_t CCU_ADDR_MIN
void initFromPath() override
static uint16_t hybridPos(const uint16_t &i2c_addr)
static const char controlView_[]
static const char fecCrate_[]
Base utility class that identifies a position within a logical structure of the strip tracker...
const std::string & path() const
const uint16_t & fecCrate() const
static const uint16_t FEC_RING_MIN
static const uint16_t lldChanMask_
static const uint16_t CRATE_SLOT_MIN
const uint16_t & channel() const
bool isConsistent(const SiStripKey &) const override
static const uint16_t fecSlotOffset_
Constants and enumerated types for FED/FEC systems.
static const char fecRing_[]
const uint16_t & ccuAddr() const
static const uint16_t invalid_
bool operator()(const uint32_t &, const uint32_t &) const
static const uint16_t APVS_PER_CHAN
static const uint16_t ccuAddrMask_
static const uint16_t APV_I2C_MAX
void initFromValue() override
Concrete implementation of abstract base, signifying null values or an "unknown" position or view...
void initFromKey() override
static const char root_[]
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_
static const char null_[]