33 <<
"Cannot initialize ZDCDetId from " << std::hex << gen.
rawId() <<
std::dec;
41 <<
"Cannot assign ZDCDetId from " << std::hex << gen.
rawId() <<
std::dec;
56 if (se ==
EM)
return 1;
58 else if (se ==
RPD)
return 2;
65 else return (
id_&kZDCChannelMask);
92 dp = (
EM == se ? in+1 :
102 bool flag = (dp >= 1 && (
117 s <<
"(ZDC" << ((
id.zside()==1)?(
"+"):(
"-"));
123 default : s <<
" UNKNOWN ";
125 return s <<
id.channel() <<
"," <<
id.depth() <<
')';
static bool validDetId(Section se, int dp)
constexpr bool null() const
is this a null id ?
static bool validDenseIndex(uint32_t di)
int zside() const
get the z-side of the cell (1/-1)
constexpr uint32_t rawId() const
get the raw id
static const int kZDCSectionOffset
static const int kZDCZsideMask
static const int kZDCChannelMask
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
static const int kZDCSectionMask
static const int kZDCRPDMask
static HcalZDCDetId detIdFromDenseIndex(uint32_t di)
static const int SubdetectorId
int depth() const
get the depth (1 for EM, channel + 1 for HAD, 2 for RPD, not sure yet for LUM, leave as default) ...
int channel() const
get the channel
std::ostream & operator<<(std::ostream &s, const HcalZDCDetId &id)
Section section() const
get the section
HcalZDCDetId & operator=(const DetId &id)
uint32_t denseIndex() const
constexpr Detector det() const
get the detector field from this detid