30 capid = (capid + 1) % 4;
46 return (
val == 0) ? (-1000) : (((
val & 0x8) == 0) ? (-(
val & 0x7)) : (
val & 0x7));
62 s << digi.
id() <<
" " << digi.
size() <<
" samples " << digi.
presamples() <<
" presamples ";
69 s <<
" nofiberOffset";
74 for (
int i = 0;
i < digi.
size();
i++)
75 s <<
" " << digi.
sample(
i) << std::endl;
const HcalQIESample & sample(int i) const
access a sample
int presamples() const
number of samples before the sample from the triggered beam crossing (according to the hardware) ...
bool zsMarkAndPass() const
was ZS MarkAndPass?
void setPresamples(int ps)
int fiberIdleOffset() const
offset of bunch number for this channel relative to nominal set in the unpacker (range is +7->-7...
std::ostream & operator<<(std::ostream &s, const ZDCDataFrame &digi)
static const int MAXSAMPLES
void setFiberIdleOffset(int offset)
const HcalZDCDetId & id() const
bool zsUnsuppressed() const
was ZS unsuppressed?
void setReadoutIds(const HcalElectronicsId &eid)
int size() const
total number of samples in the digi
bool validate(int firstSample=0, int nSamples=100) const
validate appropriate DV and ER bits as well as capid rotation for the specified samples (default is a...
void setZSInfo(bool unsuppressed, bool markAndPass, uint32_t crossingMask=0)
constexpr int capid() const
get the Capacitor id
HcalQIESample data_[MAXSAMPLES]
HcalElectronicsId electronicsId_
Readout chain identification for Hcal.