19 else if (size<=0)
size_=0;
32 for (
int i=0; ok &&
i<nSamples &&
i+firstSample<
size_;
i++) {
33 if (
data_[
i+firstSample].er() || !
data_[
i+firstSample].dv()) ok=
false;
35 if (capid!=
data_[
i+firstSample].capid()) ok=
false;
50 return (val==0)?(-1000):(((val&0x8)==0)?(-(val&0x7)):(val&0x7));
62 s << digi.
id() <<
" " << digi.
size() <<
" samples " << digi.
presamples() <<
" presamples ";
70 for (
int i=0;
i<digi.
size();
i++)
71 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
int capid() const
get the Capacitor id
void setReadoutIds(const HcalElectronicsId &eid)
static const int MAXSAMPLES
HcalElectronicsId electronicsId_
bool zsMarkAndPass() const
was ZS MarkAndPass?
Readout chain identification for Hcal.
tuple size
Write out results.