Device and connection information at the level of a front-end module. More...
#include <SiStripModule.h>
Classes | |
class | FedChannel |
Public Types | |
typedef std::map< uint16_t, FedChannel > | FedCabling |
typedef std::pair< uint16_t, uint16_t > | PairOfU16 |
Public Member Functions | |
const uint16_t & | activeApv (const uint16_t &apv_address) const |
PairOfU16 | activeApvPair (const uint16_t &lld_channel) const |
std::vector< uint16_t > | activeApvs () const |
void | addApv (const uint16_t &apv_address) |
void | addDevices (const FedChannelConnection &conn) |
uint16_t | apvPairNumber (const uint16_t &lld_channel) const |
const uint16_t & | ccuAddr () const |
const uint16_t & | ccuChan () const |
const uint16_t & | dcu () const |
const uint32_t & | dcuId () const |
void | dcuId (const uint32_t &dcu_id) |
const uint32_t & | detId () const |
void | detId (const uint32_t &det_id) |
const uint16_t & | fecCrate () const |
const uint16_t & | fecRing () const |
const uint16_t & | fecSlot () const |
FedChannel | fedCh (const uint16_t &apv_pair_num) const |
bool | fedCh (const uint16_t &apv_address, const FedChannel &fed_ch) |
const FedCabling & | fedChannels () const |
const SiStripFecKey & | key () const |
const uint16_t & | length () const |
void | length (const uint16_t &length) |
const uint16_t & | lld () const |
uint16_t | lldChannel (const uint16_t &apv_pair_num) const |
const uint16_t & | mux () const |
const uint16_t & | nApvPairs () const |
void | nApvPairs (const uint16_t &npairs) |
uint16_t | nDetStrips () const |
const uint16_t & | pll () const |
void | print (std::stringstream &) const |
SiStripModule (const FedChannelConnection &conn) | |
void | terse (std::stringstream &) const |
~SiStripModule () | |
Private Attributes | |
uint16_t | apv32_ |
uint16_t | apv33_ |
uint16_t | apv34_ |
uint16_t | apv35_ |
uint16_t | apv36_ |
uint16_t | apv37_ |
FedCabling | cabling_ |
uint16_t | dcu0x00_ |
uint32_t | dcuId_ |
uint32_t | detId_ |
SiStripFecKey | key_ |
uint16_t | length_ |
uint16_t | lld0x60_ |
uint16_t | mux0x43_ |
uint16_t | nApvPairs_ |
uint16_t | pll0x44_ |
Device and connection information at the level of a front-end module.
Definition at line 24 of file SiStripModule.h.
typedef std::map< uint16_t, FedChannel > SiStripModule::FedCabling |
Map between LLD channel and FED channel
Definition at line 59 of file SiStripModule.h.
typedef std::pair<uint16_t,uint16_t> SiStripModule::PairOfU16 |
Pair containing FED id/channel.
Definition at line 42 of file SiStripModule.h.
SiStripModule::SiStripModule | ( | const FedChannelConnection & | conn | ) |
Constructor.
Definition at line 12 of file SiStripModule.cc.
References addDevices().
|
inline |
const uint16_t & SiStripModule::activeApv | ( | const uint16_t & | apv_address | ) | const |
Identifies whether APV of a given I2C address (32->37) or footprint position on the hybrid (0->5) is active or not. Returns device I2C address or zero if not active.
Definition at line 125 of file SiStripModule.cc.
References apv32_, apv33_, apv34_, apv35_, apv36_, apv37_, and sistrip::mlCabling_.
SiStripModule::PairOfU16 SiStripModule::activeApvPair | ( | const uint16_t & | lld_channel | ) | const |
Identifies APV pairs that are active for given LLD channel (1->3). Returns device I2C address or zero if not active.
Definition at line 203 of file SiStripModule.cc.
References apv32_, apv33_, apv34_, apv35_, apv36_, apv37_, and sistrip::mlCabling_.
std::vector< uint16_t > SiStripModule::activeApvs | ( | ) | const |
void SiStripModule::addApv | ( | const uint16_t & | apv_address | ) |
Add APV to module using I2C address (32->37).
Definition at line 144 of file SiStripModule.cc.
References apv32_, apv33_, apv34_, apv35_, apv36_, apv37_, SiStripFecKey::ccuAddr(), SiStripFecKey::ccuChan(), SiStripFecKey::fecCrate(), SiStripFecKey::fecRing(), SiStripFecKey::fecSlot(), key_, and sistrip::mlCabling_.
Referenced by addDevices().
void SiStripModule::addDevices | ( | const FedChannelConnection & | conn | ) |
Sets device info (addresses, DetID, etc) for this module.
Definition at line 39 of file SiStripModule.cc.
References addApv(), SiStripFecKey::ccuAddr(), FedChannelConnection::ccuAddr(), SiStripFecKey::ccuChan(), FedChannelConnection::ccuChan(), FedChannelConnection::dcu(), dcu0x00_, FedChannelConnection::dcuId(), dcuId(), FedChannelConnection::detId(), detId(), SiStripFecKey::fecCrate(), FedChannelConnection::fecCrate(), SiStripFecKey::fecRing(), FedChannelConnection::fecRing(), SiStripFecKey::fecSlot(), FedChannelConnection::fecSlot(), FedChannelConnection::fedCh(), fedCh(), FedChannelConnection::fedCrate(), FedChannelConnection::fedId(), FedChannelConnection::fedSlot(), FedChannelConnection::i2cAddr(), key_, FedChannelConnection::lld(), lld0x60_, sistrip::mlCabling_, FedChannelConnection::mux(), mux0x43_, FedChannelConnection::nApvPairs(), nApvPairs(), FedChannelConnection::pll(), and pll0x44_.
Referenced by SiStripModule(), and ~SiStripModule().
uint16_t SiStripModule::apvPairNumber | ( | const uint16_t & | lld_channel | ) | const |
Returns APV pair (0->1 or 0->2) for given LLD channel (1->3).
Definition at line 242 of file SiStripModule.cc.
References sistrip::mlCabling_, and nApvPairs_.
|
inline |
|
inline |
|
inline |
Identifies whether the DCU device is active ("found") or not.
Definition at line 214 of file SiStripModule.h.
References dcu0x00_.
|
inline |
Returns DCU id for this module.
Definition at line 202 of file SiStripModule.h.
References dcuId_.
Referenced by addDevices(), SiStripFedCablingBuilderFromDb::assignDcuAndDetIds(), print(), and terse().
|
inline |
Set DCU id for this module.
Definition at line 207 of file SiStripModule.h.
References dcu0x00_, and dcuId_.
|
inline |
Returns unique (geometry-based) identifier for this module.
Definition at line 203 of file SiStripModule.h.
References detId_.
Referenced by addDevices(), SiStripFedCablingBuilderFromDb::assignDcuAndDetIds(), print(), and terse().
|
inline |
|
inline |
|
inline |
|
inline |
SiStripModule::FedChannel SiStripModule::fedCh | ( | const uint16_t & | apv_pair_num | ) | const |
Returns FedChannel for a given apvPairNumber.
Definition at line 267 of file SiStripModule.cc.
References cabling_, sistrip::mlCabling_, and nApvPairs().
Referenced by addDevices(), SiStripFedCablingBuilderFromDb::buildFecCablingFromDetIds(), SiStripFedCablingBuilderFromDb::buildFecCablingFromDevices(), and SiStripFedCablingFakeESSource::make().
bool SiStripModule::fedCh | ( | const uint16_t & | apv_address, |
const FedChannel & | fed_ch | ||
) |
Sets FedChannel for given APV address (32->37). Returns true if connection made, false otherwise.
Definition at line 320 of file SiStripModule.cc.
References cabling_, and sistrip::mlCabling_.
|
inline |
Returns map of apvPairNumber and FedChannel.
Definition at line 209 of file SiStripModule.h.
References cabling_.
Referenced by print(), and terse().
|
inline |
Returns control "key" for this module, containing address information on FEC crate, slot, ring, CCU, and module.
Definition at line 200 of file SiStripModule.h.
References key_.
Referenced by SiStripCommissioningSource::fillCablingHistos(), print(), and terse().
|
inline |
Returns cable length.
Definition at line 211 of file SiStripModule.h.
References length_.
Referenced by Vispa.Views.LineDecayView.DecayLine::arrowBoundingRect(), SiStripFedCablingBuilderFromDb::assignDcuAndDetIds(), Vispa.Views.LineDecayView.DecayLine::labelBoundingRect(), length(), and Vispa.Views.LineDecayView.DecayLine::paint().
|
inline |
Sets cable length.
Definition at line 212 of file SiStripModule.h.
References length(), and length_.
Referenced by Vispa.Views.LineDecayView.DecayLine::arrowBoundingRect(), Vispa.Views.LineDecayView.DecayLine::labelBoundingRect(), and Vispa.Views.LineDecayView.DecayLine::paint().
|
inline |
Identifies whether the LLD device is active ("found") or not.
Definition at line 217 of file SiStripModule.h.
References lld0x60_.
uint16_t SiStripModule::lldChannel | ( | const uint16_t & | apv_pair_num | ) | const |
Returns LLD channel (1->3) for given APV pair (0->1 or 0->2).
Definition at line 217 of file SiStripModule.cc.
References sistrip::mlCabling_, and nApvPairs_.
|
inline |
Identifies whether the MUX device is active ("found") or not.
Definition at line 215 of file SiStripModule.h.
References mux0x43_.
|
inline |
Returns number of APV pairs for this module.
Definition at line 204 of file SiStripModule.h.
References nApvPairs_.
Referenced by addDevices(), SiStripFedCablingBuilderFromDb::assignDcuAndDetIds(), SiStripFedCablingBuilderFromDb::buildFecCablingFromDevices(), fedCh(), print(), and terse().
void SiStripModule::nApvPairs | ( | const uint16_t & | npairs | ) |
Set number of detector strips for this module.
Definition at line 186 of file SiStripModule.cc.
References apv32_, apv33_, apv34_, apv35_, apv36_, apv37_, sistrip::mlCabling_, and nApvPairs_.
|
inline |
Returns number of detector strips for this module.
Definition at line 205 of file SiStripModule.h.
References nApvPairs_.
|
inline |
Identifies whether the PLL device is active ("found") or not.
Definition at line 216 of file SiStripModule.h.
References pll0x44_.
void SiStripModule::print | ( | std::stringstream & | ss | ) | const |
Prints some debug information for this module.
Definition at line 345 of file SiStripModule.cc.
References activeApvs(), electrons_cff::bool, SiStripFecKey::ccuAddr(), SiStripFecKey::ccuChan(), dcu0x00_, dcuId(), TauDecayModes::dec, detId(), SiStripFecKey::fecCrate(), SiStripFecKey::fecRing(), SiStripFecKey::fecSlot(), fedChannels(), key(), lld0x60_, mux0x43_, nApvPairs(), and pll0x44_.
Referenced by operator<<().
void SiStripModule::terse | ( | std::stringstream & | ss | ) | const |
Prints some terse debug information for this module.
Definition at line 391 of file SiStripModule.cc.
References activeApvs(), electrons_cff::bool, SiStripFecKey::ccuAddr(), SiStripFecKey::ccuChan(), dcu0x00_, dcuId(), TauDecayModes::dec, detId(), SiStripFecKey::fecCrate(), SiStripFecKey::fecRing(), SiStripFecKey::fecSlot(), fedChannels(), key(), lld0x60_, mux0x43_, nApvPairs(), and pll0x44_.
|
private |
Definition at line 168 of file SiStripModule.h.
Referenced by activeApv(), activeApvPair(), activeApvs(), addApv(), and nApvPairs().
|
private |
Definition at line 169 of file SiStripModule.h.
Referenced by activeApv(), activeApvPair(), activeApvs(), addApv(), and nApvPairs().
|
private |
Definition at line 170 of file SiStripModule.h.
Referenced by activeApv(), activeApvPair(), activeApvs(), addApv(), and nApvPairs().
|
private |
Definition at line 171 of file SiStripModule.h.
Referenced by activeApv(), activeApvPair(), activeApvs(), addApv(), and nApvPairs().
|
private |
Definition at line 172 of file SiStripModule.h.
Referenced by activeApv(), activeApvPair(), activeApvs(), addApv(), and nApvPairs().
|
private |
Definition at line 173 of file SiStripModule.h.
Referenced by activeApv(), activeApvPair(), activeApvs(), addApv(), and nApvPairs().
|
private |
KEY = LLD channel, DATA = FedId + FedCh
Definition at line 187 of file SiStripModule.h.
Referenced by fedCh(), and fedChannels().
|
private |
Definition at line 176 of file SiStripModule.h.
Referenced by addDevices(), dcu(), dcuId(), print(), and terse().
|
private |
Definition at line 182 of file SiStripModule.h.
Referenced by dcuId().
|
private |
Definition at line 183 of file SiStripModule.h.
Referenced by detId().
|
private |
Control key/path for this module.
Definition at line 165 of file SiStripModule.h.
Referenced by addApv(), addDevices(), ccuAddr(), ccuChan(), fecCrate(), fecRing(), fecSlot(), and key().
|
private |
Definition at line 188 of file SiStripModule.h.
Referenced by length().
|
private |
Definition at line 179 of file SiStripModule.h.
Referenced by addDevices(), lld(), print(), and terse().
|
private |
Definition at line 177 of file SiStripModule.h.
Referenced by addDevices(), mux(), print(), and terse().
|
private |
Definition at line 184 of file SiStripModule.h.
Referenced by apvPairNumber(), lldChannel(), nApvPairs(), and nDetStrips().
|
private |
Definition at line 178 of file SiStripModule.h.
Referenced by addDevices(), pll(), print(), and terse().