Readout chain identification for Hcal. More...
#include <HcalElectronicsId.h>
Public Member Functions | |
constexpr int | crateId () const |
get the readout VME crate number More... | |
constexpr int | dccid () const |
get the (Hcal local) DCC id for VME, crate number for uTCA More... | |
constexpr int | fiberChanId () const |
get the fiber channel id (which of channels on a fiber) More... | |
constexpr int | fiberIndex () const |
get the fiber index. For VME 1-8 (which of eight fibers carried by a spigot), for uTCA fibers are zero-based More... | |
constexpr | HcalElectronicsId () |
constexpr | HcalElectronicsId (uint32_t id) |
constexpr | HcalElectronicsId (int fiberChan, int fiberIndex, int spigot, int dccid) |
constexpr | HcalElectronicsId (int slbChan, int slbSite, int spigot, int dccid, int crate, int slot, int tb) |
constexpr | HcalElectronicsId (int crate, int slot, int fiber, int fc, bool isTrigger) |
constexpr int | htrChanId () const |
get the HTR channel id (1-24) More... | |
constexpr int | htrSlot () const |
get the htr slot More... | |
constexpr int | htrTopBottom () const |
get the htr top/bottom (1=top/0=bottom), valid for VME More... | |
constexpr bool | isTriggerChainId () const |
constexpr bool | isUTCAid () const |
constexpr bool | isVMEid () const |
constexpr int | linearIndex () const |
get a fast, compact, unique index for linear lookups More... | |
constexpr int | operator!= (const HcalElectronicsId &id) const |
constexpr uint32_t | operator() () |
constexpr int | operator< (const HcalElectronicsId &id) const |
Compare the id to another id for use in a map. More... | |
constexpr int | operator== (const HcalElectronicsId &id) const |
constexpr uint32_t | rawId () const |
constexpr int | readoutVMECrateId () const |
get the readout VME crate number More... | |
constexpr void | setHTR (int crate, int slot, int tb) |
std::string | slbChannelCode () const |
get the HTR-wide slb channel code (letter plus number) More... | |
constexpr int | slbChannelIndex () const |
get the SLB channel index (valid only for VME trigger-chain ids) More... | |
constexpr int | slbSiteNumber () const |
get the SLB site number (valid only for VME trigger-chain ids) More... | |
constexpr int | slot () const |
get the htr or uHTR slot More... | |
constexpr int | spigot () const |
get the spigot (input number on DCC, AMC card number for uTCA) More... | |
constexpr int | subtype () const |
get subtype for this channel (valid for uTCA only) More... | |
Static Public Attributes | |
static const int | maxDCCId = 31 |
static const int | maxLinearIndex = 0x7FFFF |
Private Attributes | |
uint32_t | hcalElectronicsId_ |
Readout chain identification for Hcal.
[31:27] Unused (so far) [26] VME (0), uTCA (1)
For VME Electronics: [25] Trigger-chain id flag [24:20] Readout Crate Id [19] HTR FPGA selector [t/b] [18:14] HTR Slot [13:9] DCC id [8:5] Spigot [4:2] FiberIndex or SLB site [1:0] FiberChanId or SLB channel
For uTCA Electronics:
[25] Is Trigger Id [18:13] Readout Crate Id [12:9] Slot [8:4] Fiber [3:0] FiberChanId
Definition at line 32 of file HcalElectronicsId.h.
|
inline |
|
inline |
|
inline |
VME Constructor from fiberchan,fiber index,spigot,dccid
Definition at line 39 of file HcalElectronicsId.h.
|
inline |
VME Constructor from slb channel,slb site,spigot,dccid
Definition at line 43 of file HcalElectronicsId.h.
References hcalElectronicsId_, and slot().
|
inline |
uTCA constructor
Definition at line 50 of file HcalElectronicsId.h.
References hcalElectronicsId_.
|
inline |
get the readout VME crate number
Definition at line 107 of file HcalElectronicsId.h.
References hcalElectronicsId_, and isVMEid().
Referenced by dccid(), hcaldqm::quantity::getEid_FEDuTCASlot(), and readoutVMECrateId().
|
inline |
get the (Hcal local) DCC id for VME, crate number for uTCA
Definition at line 95 of file HcalElectronicsId.h.
References crateId(), hcalElectronicsId_, and isVMEid().
Referenced by HtrXmlPatternTool::Fill(), CMTRawAnalyzer::fillMAP(), hcaldqm::quantity::getEid_FEDVMESpigot(), HBHEHFLogicalMapEntry::printLMapLine(), HOHXLogicalMapEntry::printLMapLine(), CALIBLogicalMapEntry::printLMapLine(), ZDCLogicalMapEntry::printLMapLine(), HTLogicalMapEntry::printLMapLine(), and SelectedElectronFEDListProducer< TEle, TCand >::produce().
|
inline |
get the fiber channel id (which of channels on a fiber)
Definition at line 76 of file HcalElectronicsId.h.
References hcalElectronicsId_, and isVMEid().
Referenced by hcaldqm::quantity::getEid_FiberuTCAFiberCh(), hcaldqm::quantity::getEid_FiberuTCATPFiberChuTCATP(), hcaldqm::quantity::getEid_FiberVMEFiberCh(), htrChanId(), HBHEHFLogicalMapEntry::printLMapLine(), HOHXLogicalMapEntry::printLMapLine(), CALIBLogicalMapEntry::printLMapLine(), ZDCLogicalMapEntry::printLMapLine(), HcalLedAnalysis::processLedEvent(), and SelectedElectronFEDListProducer< TEle, TCand >::produce().
|
inline |
get the fiber index. For VME 1-8 (which of eight fibers carried by a spigot), for uTCA fibers are zero-based
Definition at line 78 of file HcalElectronicsId.h.
References hcalElectronicsId_, and isVMEid().
Referenced by CMTRawAnalyzer::fillMAP(), hcaldqm::quantity::getEid_FiberuTCAFiberCh(), hcaldqm::quantity::getEid_FiberuTCATPFiberChuTCATP(), hcaldqm::quantity::getEid_FiberVMEFiberCh(), htrChanId(), HBHEHFLogicalMapEntry::printLMapLine(), HOHXLogicalMapEntry::printLMapLine(), CALIBLogicalMapEntry::printLMapLine(), ZDCLogicalMapEntry::printLMapLine(), and SelectedElectronFEDListProducer< TEle, TCand >::produce().
|
inline |
get the HTR channel id (1-24)
Definition at line 87 of file HcalElectronicsId.h.
References fiberChanId(), fiberIndex(), and isVMEid().
Referenced by HtrXmlPatternTool::Fill().
|
inline |
get the htr slot
Definition at line 97 of file HcalElectronicsId.h.
References slot().
Referenced by HtrXmlPatternTool::Fill(), CMTRawAnalyzer::fillMAP(), HcalPacker::pack(), HBHEHFLogicalMapEntry::printLMapLine(), HOHXLogicalMapEntry::printLMapLine(), CALIBLogicalMapEntry::printLMapLine(), ZDCLogicalMapEntry::printLMapLine(), and HTLogicalMapEntry::printLMapLine().
|
inline |
get the htr top/bottom (1=top/0=bottom), valid for VME
Definition at line 103 of file HcalElectronicsId.h.
References hcalElectronicsId_, isVMEid(), and testProducerWithPsetDescEmpty_cfi::x1.
Referenced by HtrXmlPatternTool::Fill(), CMTRawAnalyzer::fillMAP(), HcalPacker::pack(), HBHEHFLogicalMapEntry::printLMapLine(), HOHXLogicalMapEntry::printLMapLine(), CALIBLogicalMapEntry::printLMapLine(), ZDCLogicalMapEntry::printLMapLine(), HTLogicalMapEntry::printLMapLine(), and slbChannelCode().
|
inline |
Definition at line 63 of file HcalElectronicsId.h.
References hcalElectronicsId_.
Referenced by slbChannelCode().
|
inline |
Definition at line 62 of file HcalElectronicsId.h.
References hcalElectronicsId_.
Referenced by setHTR(), and subtype().
|
inline |
Definition at line 61 of file HcalElectronicsId.h.
References hcalElectronicsId_.
Referenced by crateId(), dccid(), fiberChanId(), fiberIndex(), htrChanId(), htrTopBottom(), linearIndex(), slbChannelCode(), slot(), and spigot().
|
inline |
get a fast, compact, unique index for linear lookups
Definition at line 111 of file HcalElectronicsId.h.
References hcalElectronicsId_, and isVMEid().
Referenced by HBHEHFLogicalMapEntry::getLinearIndex(), HOHXLogicalMapEntry::getLinearIndex(), CALIBLogicalMapEntry::getLinearIndex(), ZDCLogicalMapEntry::getLinearIndex(), HTLogicalMapEntry::getLinearIndex(), HcalElectronicsMap::lookup(), HcalElectronicsMapAddons::Helper::mapEId2chId(), and HcalElectronicsMapAddons::Helper::mapEId2tId().
|
inline |
Non-Equality operator
Definition at line 121 of file HcalElectronicsId.h.
References hcalElectronicsId_.
|
inline |
|
inline |
Compare the id to another id for use in a map.
Definition at line 123 of file HcalElectronicsId.h.
References hcalElectronicsId_.
|
inline |
Equality operator
Definition at line 119 of file HcalElectronicsId.h.
References hcalElectronicsId_.
|
inline |
Definition at line 59 of file HcalElectronicsId.h.
References hcalElectronicsId_.
Referenced by hcaldqm::DQHarvester::beginRun(), hcaldqm::DQClient::beginRun(), PedestalTask::bookHistograms(), TPTask::bookHistograms(), LaserTask::bookHistograms(), RawTask::bookHistograms(), RecHitTask::bookHistograms(), DigiTask::bookHistograms(), hcaldqm::DQTask::bookHistograms(), CALIBLogicalMapEntry::CALIBLogicalMapEntry(), hcaldqm::hashfunctions::hash_Crate(), hcaldqm::hashfunctions::hash_CrateSlot(), hcaldqm::hashfunctions::hash_CrateSpigot(), hcaldqm::hashfunctions::hash_EChannel(), hcaldqm::hashfunctions::hash_Electronics(), hcaldqm::hashfunctions::hash_FED(), hcaldqm::hashfunctions::hash_FEDSlot(), hcaldqm::hashfunctions::hash_FEDSpigot(), hcaldqm::hashfunctions::hash_Fiber(), hcaldqm::hashfunctions::hash_FiberCh(), hcaldqm::hashfunctions::hash_FiberFiberCh(), HBHEHFLogicalMapEntry::HBHEHFLogicalMapEntry(), HOHXLogicalMapEntry::HOHXLogicalMapEntry(), HTLogicalMapEntry::HTLogicalMapEntry(), HcalElectronicsMap::lookup(), HcalElectronicsMap::lookupTrigger(), HcalElectronicsMapAddons::Helper::mapEId2chId(), HcalElectronicsMapAddons::Helper::mapEId2tId(), and ZDCLogicalMapEntry::ZDCLogicalMapEntry().
|
inline |
get the readout VME crate number
Definition at line 105 of file HcalElectronicsId.h.
References crateId().
Referenced by HtrXmlPatternTool::Fill(), CMTRawAnalyzer::fillMAP(), HcalLutManager::getLinearizationLutXmlFromAsciiMasterEmap_new(), HcalPacker::pack(), HBHEHFLogicalMapEntry::printLMapLine(), HOHXLogicalMapEntry::printLMapLine(), CALIBLogicalMapEntry::printLMapLine(), ZDCLogicalMapEntry::printLMapLine(), and HTLogicalMapEntry::printLMapLine().
|
inline |
Set the VME htr-related information 1=top, 0=bottom
Definition at line 66 of file HcalElectronicsId.h.
References hcalElectronicsId_, isUTCAid(), and slot().
Referenced by CALIBLogicalMapEntry::CALIBLogicalMapEntry(), HcalDbASCIIIO::createObject< HcalElectronicsMap >(), ChannelPattern::Fill_by_hand(), HcalFiberPattern::getId(), HBHEHFLogicalMapEntry::HBHEHFLogicalMapEntry(), HOHXLogicalMapEntry::HOHXLogicalMapEntry(), and ZDCLogicalMapEntry::ZDCLogicalMapEntry().
std::string HcalElectronicsId::slbChannelCode | ( | ) | const |
get the HTR-wide slb channel code (letter plus number)
Definition at line 3 of file HcalElectronicsId.cc.
References htrTopBottom(), isTriggerChainId(), isVMEid(), slbChannelIndex(), and AlCaHLTBitMon_QueryRunRegistry::string.
|
inline |
get the SLB channel index (valid only for VME trigger-chain ids)
Definition at line 82 of file HcalElectronicsId.h.
References hcalElectronicsId_.
Referenced by hcaldqm::quantity::getEid_SLBSLBCh(), HTLogicalMapEntry::printLMapLine(), and slbChannelCode().
|
inline |
get the SLB site number (valid only for VME trigger-chain ids)
Definition at line 84 of file HcalElectronicsId.h.
References hcalElectronicsId_.
Referenced by hcaldqm::quantity::getEid_SLBSLBCh(), and HTLogicalMapEntry::printLMapLine().
|
inline |
get the htr or uHTR slot
Definition at line 99 of file HcalElectronicsId.h.
References hcalElectronicsId_, and isVMEid().
Referenced by hcaldqm::quantity::getEid_FEDuTCASlot(), HcalElectronicsId(), htrSlot(), setHTR(), and spigot().
|
inline |
get the spigot (input number on DCC, AMC card number for uTCA)
Definition at line 93 of file HcalElectronicsId.h.
References hcalElectronicsId_, isVMEid(), and slot().
Referenced by HtrXmlPatternTool::Fill(), CMTRawAnalyzer::fillMAP(), hcaldqm::quantity::getEid_FEDVMESpigot(), HBHEHFLogicalMapEntry::printLMapLine(), HOHXLogicalMapEntry::printLMapLine(), CALIBLogicalMapEntry::printLMapLine(), ZDCLogicalMapEntry::printLMapLine(), HTLogicalMapEntry::printLMapLine(), and SelectedElectronFEDListProducer< TEle, TCand >::produce().
|
inline |
get subtype for this channel (valid for uTCA only)
Definition at line 74 of file HcalElectronicsId.h.
References hcalElectronicsId_, and isUTCAid().
|
private |
Definition at line 126 of file HcalElectronicsId.h.
Referenced by crateId(), dccid(), fiberChanId(), fiberIndex(), HcalElectronicsId(), htrTopBottom(), isTriggerChainId(), isUTCAid(), isVMEid(), linearIndex(), operator!=(), operator()(), operator<(), operator==(), rawId(), setHTR(), slbChannelIndex(), slbSiteNumber(), slot(), spigot(), and subtype().
|
static |
Definition at line 116 of file HcalElectronicsId.h.
|
static |
Definition at line 115 of file HcalElectronicsId.h.
Referenced by HcalLogicalMapGenerator::createMap().