13 ((spigot&0xF)<<5) | ((dccid&0x1F)<<9);
18 ((spigot&0xF)<<5) | ((dccid&0x1F)<<9);
25 ((slot&0xF)<<9) | ((crate&0x3F)<<13);
35 case (0): retval=
"A0";
break;
36 case (1): retval=
"A1";
break;
37 case (2): retval=
"C0";
break;
38 case (3): retval=
"C1";
break;
42 case (0): retval=
"B0";
break;
43 case (1): retval=
"B1";
break;
44 case (2): retval=
"D0";
break;
45 case (3): retval=
"D1";
break;
62 return os <<
id.crateId() <<
',' <<
id.slot() <<
',' <<
id.fiberIndex() <<
',' <<
id.fiberChanId();
65 return os <<
id.dccid() <<
',' <<
id.spigot() <<
",SLB" <<
id.slbSiteNumber() <<
',' <<
id.slbChannelIndex() <<
" (HTR " 66 <<
id.readoutVMECrateId() <<
":" <<
id.htrSlot() << ((
id.htrTopBottom()==1)?(
't'):(
'b')) <<
')';
69 return os <<
id.dccid() <<
',' <<
id.spigot() <<
',' <<
id.fiberIndex() <<
',' <<
id.fiberChanId() <<
" (HTR " 70 <<
id.readoutVMECrateId() <<
":" <<
id.htrSlot() << ((
id.htrTopBottom()==1)?(
't'):(
'b')) <<
')';
int fiberIndex() const
get the fiber index. For VME 1-8 (which of eight fibers carried by a spigot), for uTCA fibers are zer...
static int slbChan(const HcalTriggerPrimitiveSample &theSample)
std::ostream & operator<<(std::ostream &os, const HcalElectronicsId &id)
int htrTopBottom() const
get the htr top/bottom (1=top/0=bottom), valid for VME
std::string slbChannelCode() const
get the HTR-wide slb channel code (letter plus number)
int dccid() const
get the (Hcal local) DCC id for VME, crate number for uTCA
int spigot() const
get the spigot (input number on DCC, AMC card number for uTCA)
int slbChannelIndex() const
get the SLB channel index (valid only for VME trigger-chain ids)
void setHTR(int crate, int slot, int tb)
int slot() const
get the htr or uHTR slot
bool isTriggerChainId() const
uint32_t hcalElectronicsId_
Readout chain identification for Hcal.