23 for (
int i = 0; ok &&
i < nSamples &&
i + firstSample <
size_;
i++) {
24 if (
data_[
i + firstSample].er() || !
data_[
i + firstSample].dv())
28 if (capid !=
data_[
i + firstSample].capid())
30 capid = (capid + 1) % 4;
46 return (val == 0) ? (-1000) : (((val & 0x8) == 0) ? (-(val & 0x7)) : (val & 0x7));
55 else if (offset >= -7)
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;
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...
void setZSInfo(bool unsuppressed, bool markAndPass, uint32_t crossingMask=0)
bool zsUnsuppressed() const
was ZS unsuppressed?
int presamples() const
number of samples before the sample from the triggered beam crossing (according to the hardware) ...
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...
std::ostream & operator<<(std::ostream &out, const ALILine &li)
HcalQIESample data_[MAXSAMPLES]
int size() const
total number of samples in the digi
const HcalQIESample & sample(int i) const
access a sample
const HcalCalibDetId & id() const
void setFiberIdleOffset(int offset)
constexpr size_t nSamples
void setReadoutIds(const HcalElectronicsId &eid)
constexpr int capid() const
get the Capacitor id
static const int MAXSAMPLES
HcalElectronicsId electronicsId_
bool zsMarkAndPass() const
was ZS MarkAndPass?
Readout chain identification for Hcal.
tuple size
Write out results.