Readout chain identification for Hcal. More...
#include <HcalElectronicsId.h>
Public Member Functions | |
int | crateId () const |
get the readout VME crate number More... | |
int | dccid () const |
get the (Hcal local) DCC id for VME, crate number for uTCA More... | |
int | fiberChanId () const |
get the fiber channel id (which of channels on a fiber) More... | |
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... | |
HcalElectronicsId () | |
HcalElectronicsId (uint32_t) | |
HcalElectronicsId (int fiberChan, int fiberIndex, int spigot, int dccid) | |
HcalElectronicsId (int slbChan, int slbSite, int spigot, int dccid, int crate, int slot, int tb) | |
HcalElectronicsId (int crate, int slot, int fiber, int fiberchan, bool isTrigger) | |
int | htrChanId () const |
get the HTR channel id (1-24) More... | |
int | htrSlot () const |
get the htr slot More... | |
int | htrTopBottom () const |
get the htr top/bottom (1=top/0=bottom), valid for VME More... | |
bool | isTriggerChainId () const |
bool | isUTCAid () const |
bool | isVMEid () const |
int | linearIndex () const |
get a fast, compact, unique index for linear lookups More... | |
int | operator!= (const HcalElectronicsId &id) const |
uint32_t | operator() () |
int | operator< (const HcalElectronicsId &id) const |
Compare the id to another id for use in a map. More... | |
int | operator== (const HcalElectronicsId &id) const |
uint32_t | rawId () const |
int | readoutVMECrateId () const |
get the readout VME crate number More... | |
void | setHTR (int crate, int slot, int tb) |
std::string | slbChannelCode () const |
get the HTR-wide slb channel code (letter plus number) More... | |
int | slbChannelIndex () const |
get the SLB channel index (valid only for VME trigger-chain ids) More... | |
int | slbSiteNumber () const |
get the SLB site number (valid only for VME trigger-chain ids) More... | |
int | slot () const |
get the htr or uHTR slot More... | |
int | spigot () const |
get the spigot (input number on DCC, AMC card number for uTCA) More... | |
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.
HcalElectronicsId::HcalElectronicsId | ( | ) |
Default constructor – invalid value
Definition at line 3 of file HcalElectronicsId.cc.
References hcalElectronicsId_.
HcalElectronicsId::HcalElectronicsId | ( | uint32_t | id | ) |
HcalElectronicsId::HcalElectronicsId | ( | int | fiberChan, |
int | fiberIndex, | ||
int | spigot, | ||
int | dccid | ||
) |
VME Constructor from fiberchan,fiber index,spigot,dccid
Definition at line 11 of file HcalElectronicsId.cc.
References hcalElectronicsId_.
HcalElectronicsId::HcalElectronicsId | ( | int | slbChan, |
int | slbSite, | ||
int | spigot, | ||
int | dccid, | ||
int | crate, | ||
int | slot, | ||
int | tb | ||
) |
VME Constructor from slb channel,slb site,spigot,dccid
Definition at line 16 of file HcalElectronicsId.cc.
References hcalElectronicsId_.
HcalElectronicsId::HcalElectronicsId | ( | int | crate, |
int | slot, | ||
int | fiber, | ||
int | fiberchan, | ||
bool | isTrigger | ||
) |
|
inline |
get the readout VME crate number
Definition at line 86 of file HcalElectronicsId.h.
References hcalElectronicsId_, and isVMEid().
Referenced by dccid(), hcaldqm::quantity::getEid_FEDuTCASlot(), hcaldqm::quantity::getLabels_Crate(), hcaldqm::quantity::getLabels_CrateuTCA(), hcaldqm::quantity::getLabels_CrateVME(), hcaldqm::quantity::getLabels_FED(), hcaldqm::quantity::getLabels_FEDuTCA(), hcaldqm::quantity::getLabels_FEDuTCASlot(), hcaldqm::quantity::FEDQuantity::getValue(), hcaldqm::quantity::getValue_Crate(), hcaldqm::quantity::getValue_CrateuTCA(), hcaldqm::quantity::getValue_CrateVME(), hcaldqm::quantity::getValue_FED(), hcaldqm::quantity::getValue_FEDuTCA(), hcaldqm::hashfunctions::hash_Crate(), hcaldqm::hashfunctions::hash_CrateSlot(), hcaldqm::hashfunctions::hash_CrateSpigot(), hcaldqm::hashfunctions::hash_EChannel(), hcaldqm::hashfunctions::hash_FED(), hcaldqm::hashfunctions::hash_FEDSlot(), hcaldqm::hashfunctions::hash_FEDSpigot(), hcaldqm::utilities::isFEDHBHE(), hcaldqm::utilities::isFEDHF(), hcaldqm::hashfunctions::name_Crate(), hcaldqm::hashfunctions::name_CrateSlot(), hcaldqm::hashfunctions::name_CrateSpigot(), hcaldqm::hashfunctions::name_EChannel(), hcaldqm::hashfunctions::name_FED(), hcaldqm::hashfunctions::name_FEDSlot(), hcaldqm::hashfunctions::name_FEDSpigot(), and readoutVMECrateId().
|
inline |
get the (Hcal local) DCC id for VME, crate number for uTCA
Definition at line 76 of file HcalElectronicsId.h.
References crateId(), hcalElectronicsId_, and isVMEid().
Referenced by HtrXmlPatternTool::Fill(), HcalQLPlotHistoMgr::GetAHistogram(), hcaldqm::quantity::getEid_FEDVMESpigot(), hcaldqm::quantity::getLabels_FED(), hcaldqm::quantity::getLabels_FEDVMESpigot(), hcaldqm::quantity::FEDQuantity::getValue(), hcaldqm::quantity::getValue_FED(), hcaldqm::quantity::getValue_FEDVME(), hcaldqm::hashfunctions::hash_Crate(), hcaldqm::hashfunctions::hash_CrateSlot(), hcaldqm::hashfunctions::hash_CrateSpigot(), hcaldqm::hashfunctions::hash_EChannel(), hcaldqm::hashfunctions::hash_FED(), hcaldqm::hashfunctions::hash_FEDSlot(), hcaldqm::hashfunctions::hash_FEDSpigot(), hcaldqm::utilities::isFEDHBHE(), hcaldqm::utilities::isFEDHO(), hcaldqm::hashfunctions::name_Crate(), hcaldqm::hashfunctions::name_CrateSlot(), hcaldqm::hashfunctions::name_CrateSpigot(), hcaldqm::hashfunctions::name_EChannel(), hcaldqm::hashfunctions::name_FED(), hcaldqm::hashfunctions::name_FEDSlot(), hcaldqm::hashfunctions::name_FEDSpigot(), HBHEHFLogicalMapEntry::printLMapLine(), HOHXLogicalMapEntry::printLMapLine(), CALIBLogicalMapEntry::printLMapLine(), ZDCLogicalMapEntry::printLMapLine(), HTLogicalMapEntry::printLMapLine(), printTableLine(), HcalCableMapper::process(), and SelectedElectronFEDListProducer< TEle, TCand >::produce().
|
inline |
get the fiber channel id (which of channels on a fiber)
Definition at line 59 of file HcalElectronicsId.h.
References hcalElectronicsId_, and isVMEid().
Referenced by HcalQLPlotHistoMgr::GetAHistogram(), hcaldqm::quantity::getEid_FiberuTCAFiberCh(), hcaldqm::quantity::getEid_FiberuTCATPFiberChuTCATP(), hcaldqm::quantity::getEid_FiberVMEFiberCh(), hcaldqm::quantity::getLabels_FiberCh(), hcaldqm::quantity::getLabels_FiberChuTCATP(), hcaldqm::quantity::getLabels_FiberuTCAFiberCh(), hcaldqm::quantity::getLabels_FiberuTCATPFiberChuTCATP(), hcaldqm::quantity::getLabels_FiberVMEFiberCh(), hcaldqm::quantity::getValue_FiberCh(), hcaldqm::quantity::getValue_FiberChuTCATP(), hcaldqm::hashfunctions::hash_EChannel(), htrChanId(), hcaldqm::hashfunctions::name_EChannel(), HcalLuttoDB::openPerLut1(), HBHEHFLogicalMapEntry::printLMapLine(), HOHXLogicalMapEntry::printLMapLine(), CALIBLogicalMapEntry::printLMapLine(), ZDCLogicalMapEntry::printLMapLine(), HcalCableMapper::process(), HcalLedAnalysis::processLedEvent(), SelectedElectronFEDListProducer< TEle, TCand >::produce(), and HcalLuttoDB::writeoutlut1().
|
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 61 of file HcalElectronicsId.h.
References hcalElectronicsId_, and isVMEid().
Referenced by HcalQLPlotHistoMgr::GetAHistogram(), hcaldqm::quantity::getEid_FiberuTCAFiberCh(), hcaldqm::quantity::getEid_FiberuTCATPFiberChuTCATP(), hcaldqm::quantity::getEid_FiberVMEFiberCh(), hcaldqm::quantity::getLabels_FiberuTCA(), hcaldqm::quantity::getLabels_FiberuTCAFiberCh(), hcaldqm::quantity::getLabels_FiberuTCATP(), hcaldqm::quantity::getLabels_FiberuTCATPFiberChuTCATP(), hcaldqm::quantity::getLabels_FiberVME(), hcaldqm::quantity::getLabels_FiberVMEFiberCh(), hcaldqm::quantity::getValue_FiberuTCA(), hcaldqm::quantity::getValue_FiberuTCATP(), hcaldqm::quantity::getValue_FiberVME(), hcaldqm::hashfunctions::hash_EChannel(), htrChanId(), hcaldqm::hashfunctions::name_EChannel(), HcalLuttoDB::openPerLut1(), HBHEHFLogicalMapEntry::printLMapLine(), HOHXLogicalMapEntry::printLMapLine(), CALIBLogicalMapEntry::printLMapLine(), ZDCLogicalMapEntry::printLMapLine(), printTableLine(), HcalCableMapper::process(), SelectedElectronFEDListProducer< TEle, TCand >::produce(), and HcalLuttoDB::writeoutlut1().
|
inline |
get the HTR channel id (1-24)
Definition at line 68 of file HcalElectronicsId.h.
References fiberChanId(), fiberIndex(), and isVMEid().
Referenced by HtrXmlPatternTool::Fill().
|
inline |
get the htr slot
Definition at line 78 of file HcalElectronicsId.h.
References slot().
Referenced by HtrXmlPatternTool::Fill(), HcalQLPlotHistoMgr::GetAHistogram(), HcalLuttoDB::openPerLut1(), HcalLuttoDB::openPerLut2(), HcalPacker::pack(), HBHEHFLogicalMapEntry::printLMapLine(), HOHXLogicalMapEntry::printLMapLine(), CALIBLogicalMapEntry::printLMapLine(), ZDCLogicalMapEntry::printLMapLine(), HTLogicalMapEntry::printLMapLine(), printTableLine(), HcalCableMapper::process(), HcalLuttoDB::writeoutlut1(), and HcalLuttoDB::writeoutlut2().
|
inline |
get the htr top/bottom (1=top/0=bottom), valid for VME
Definition at line 82 of file HcalElectronicsId.h.
References hcalElectronicsId_, and isVMEid().
Referenced by HtrXmlPatternTool::Fill(), HcalQLPlotHistoMgr::GetAHistogram(), HcalLuttoDB::openPerLut1(), HcalLuttoDB::openPerLut2(), HcalPacker::pack(), HBHEHFLogicalMapEntry::printLMapLine(), HOHXLogicalMapEntry::printLMapLine(), CALIBLogicalMapEntry::printLMapLine(), ZDCLogicalMapEntry::printLMapLine(), HTLogicalMapEntry::printLMapLine(), printTableLine(), HcalCableMapper::process(), slbChannelCode(), HcalLuttoDB::writeoutlut1(), and HcalLuttoDB::writeoutlut2().
|
inline |
Definition at line 51 of file HcalElectronicsId.h.
References hcalElectronicsId_.
Referenced by slbChannelCode().
|
inline |
Definition at line 50 of file HcalElectronicsId.h.
References hcalElectronicsId_.
Referenced by hcaldqm::quantity::getValue_Crate(), setHTR(), and subtype().
|
inline |
Definition at line 49 of file HcalElectronicsId.h.
References hcalElectronicsId_.
Referenced by TPTask::_process(), RawTask::_process(), RecHitTask::_process(), DigiTask::_process(), crateId(), dccid(), fiberChanId(), fiberIndex(), hcaldqm::quantity::getLabels_Crate(), hcaldqm::quantity::getLabels_FED(), hcaldqm::quantity::FEDQuantity::getValue(), hcaldqm::quantity::getValue_FED(), 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(), htrChanId(), htrTopBottom(), hcaldqm::utilities::isFEDHBHE(), hcaldqm::utilities::isFEDHF(), hcaldqm::utilities::isFEDHO(), linearIndex(), hcaldqm::hashfunctions::name_Crate(), hcaldqm::hashfunctions::name_CrateSlot(), hcaldqm::hashfunctions::name_CrateSpigot(), hcaldqm::hashfunctions::name_EChannel(), hcaldqm::hashfunctions::name_Electronics(), hcaldqm::hashfunctions::name_FED(), hcaldqm::hashfunctions::name_FEDSlot(), hcaldqm::hashfunctions::name_FEDSpigot(), slbChannelCode(), slot(), and spigot().
|
inline |
get a fast, compact, unique index for linear lookups
Definition at line 88 of file HcalElectronicsId.h.
References hcalElectronicsId_, and isVMEid().
Referenced by HcalElectronicsMap::findPByElId(), HcalElectronicsMap::findTByElId(), HcalLogicalMap::getDetId(), HBHEHFLogicalMapEntry::getLinearIndex(), HOHXLogicalMapEntry::getLinearIndex(), CALIBLogicalMapEntry::getLinearIndex(), ZDCLogicalMapEntry::getLinearIndex(), HTLogicalMapEntry::getLinearIndex(), HcalElectronicsMap::lookup(), HcalElectronicsMap::mapEId2chId(), and HcalElectronicsMap::mapEId2tId().
|
inline |
Non-Equality operator
Definition at line 96 of file HcalElectronicsId.h.
References hcalElectronicsId_.
|
inline |
|
inline |
Compare the id to another id for use in a map.
Definition at line 98 of file HcalElectronicsId.h.
References hcalElectronicsId_.
|
inline |
|
inline |
Definition at line 47 of file HcalElectronicsId.h.
References hcalElectronicsId_.
Referenced by CALIBLogicalMapEntry::CALIBLogicalMapEntry(), hcaldqm::utilities::hash(), 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(), hcaldqm::electronicsmap::ElectronicsMap::initialize(), HcalElectronicsMap::lookup(), HcalElectronicsMap::lookupTrigger(), HcalElectronicsMap::mapEId2chId(), HcalElectronicsMap::mapEId2tId(), hcaldqm::ContainerXXX< STDTYPE >::push(), and ZDCLogicalMapEntry::ZDCLogicalMapEntry().
|
inline |
get the readout VME crate number
Definition at line 84 of file HcalElectronicsId.h.
References crateId().
Referenced by HtrXmlPatternTool::Fill(), HcalQLPlotHistoMgr::GetAHistogram(), HcalLuttoDB::openPerLut1(), HcalLuttoDB::openPerLut2(), HcalPacker::pack(), HBHEHFLogicalMapEntry::printLMapLine(), HOHXLogicalMapEntry::printLMapLine(), CALIBLogicalMapEntry::printLMapLine(), ZDCLogicalMapEntry::printLMapLine(), HTLogicalMapEntry::printLMapLine(), printTableLine(), HcalCableMapper::process(), HcalLuttoDB::writeoutlut1(), and HcalLuttoDB::writeoutlut2().
void HcalElectronicsId::setHTR | ( | int | crate, |
int | slot, | ||
int | tb | ||
) |
Set the VME htr-related information 1=top, 0=bottom
Definition at line 52 of file HcalElectronicsId.cc.
References hcalElectronicsId_, and isUTCAid().
Referenced by CALIBLogicalMapEntry::CALIBLogicalMapEntry(), HcalMonitorModule::CheckSubdetectorStatus(), HcalBaseDQMonitor::CheckSubdetectorStatus(), ChannelPattern::Fill_by_hand(), HcalFiberPattern::getId(), HcalDbOnline::getObject(), HBHEHFLogicalMapEntry::HBHEHFLogicalMapEntry(), HOHXLogicalMapEntry::HOHXLogicalMapEntry(), HcalTriggerPrimitiveAlgo::runFEFormatError(), HcalUnpacker::unpack(), HcalUnpacker::unpackVME(), and ZDCLogicalMapEntry::ZDCLogicalMapEntry().
std::string HcalElectronicsId::slbChannelCode | ( | ) | const |
get the HTR-wide slb channel code (letter plus number)
Definition at line 30 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 63 of file HcalElectronicsId.h.
References hcalElectronicsId_.
Referenced by hcaldqm::quantity::getEid_SLBSLBCh(), hcaldqm::quantity::getLabels_SLBCh(), hcaldqm::quantity::getLabels_SLBSLBCh(), hcaldqm::quantity::getValue_SLBCh(), HcalLuttoDB::openPerLut2(), HTLogicalMapEntry::printLMapLine(), slbChannelCode(), and HcalLuttoDB::writeoutlut2().
|
inline |
get the SLB site number (valid only for VME trigger-chain ids)
Definition at line 65 of file HcalElectronicsId.h.
References hcalElectronicsId_.
Referenced by hcaldqm::quantity::getEid_SLBSLBCh(), hcaldqm::quantity::getLabels_SLB(), hcaldqm::quantity::getLabels_SLBSLBCh(), hcaldqm::quantity::getValue_SLB(), HcalLuttoDB::openPerLut2(), HTLogicalMapEntry::printLMapLine(), and HcalLuttoDB::writeoutlut2().
|
inline |
get the htr or uHTR slot
Definition at line 80 of file HcalElectronicsId.h.
References hcalElectronicsId_, and isVMEid().
Referenced by hcaldqm::quantity::getEid_FEDuTCASlot(), hcaldqm::quantity::getLabels_FEDuTCASlot(), hcaldqm::quantity::getLabels_SlotuTCA(), hcaldqm::quantity::getValue_SlotuTCA(), hcaldqm::quantity::getValue_SlotVME(), hcaldqm::hashfunctions::hash_CrateSlot(), hcaldqm::hashfunctions::hash_CrateSpigot(), hcaldqm::hashfunctions::hash_EChannel(), hcaldqm::hashfunctions::hash_FEDSlot(), hcaldqm::hashfunctions::hash_FEDSpigot(), htrSlot(), hcaldqm::hashfunctions::name_CrateSlot(), hcaldqm::hashfunctions::name_CrateSpigot(), hcaldqm::hashfunctions::name_EChannel(), hcaldqm::hashfunctions::name_FEDSlot(), hcaldqm::hashfunctions::name_FEDSpigot(), and spigot().
|
inline |
get the spigot (input number on DCC, AMC card number for uTCA)
Definition at line 74 of file HcalElectronicsId.h.
References hcalElectronicsId_, isVMEid(), and slot().
Referenced by HtrXmlPatternTool::Fill(), HcalQLPlotHistoMgr::GetAHistogram(), hcaldqm::quantity::getEid_FEDVMESpigot(), hcaldqm::quantity::getLabels_FEDVMESpigot(), hcaldqm::quantity::getValue_Spigot(), hcaldqm::hashfunctions::hash_CrateSlot(), hcaldqm::hashfunctions::hash_CrateSpigot(), hcaldqm::hashfunctions::hash_EChannel(), hcaldqm::hashfunctions::hash_FEDSlot(), hcaldqm::hashfunctions::hash_FEDSpigot(), hcaldqm::hashfunctions::name_CrateSlot(), hcaldqm::hashfunctions::name_CrateSpigot(), hcaldqm::hashfunctions::name_EChannel(), hcaldqm::hashfunctions::name_FEDSlot(), hcaldqm::hashfunctions::name_FEDSpigot(), HBHEHFLogicalMapEntry::printLMapLine(), HOHXLogicalMapEntry::printLMapLine(), CALIBLogicalMapEntry::printLMapLine(), ZDCLogicalMapEntry::printLMapLine(), HTLogicalMapEntry::printLMapLine(), printTableLine(), HcalCableMapper::process(), and SelectedElectronFEDListProducer< TEle, TCand >::produce().
|
inline |
get subtype for this channel (valid for uTCA only)
Definition at line 57 of file HcalElectronicsId.h.
References hcalElectronicsId_, and isUTCAid().
|
private |
Definition at line 101 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 91 of file HcalElectronicsId.h.
|
static |
Definition at line 90 of file HcalElectronicsId.h.
Referenced by HcalLogicalMapGenerator::createMap().