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;
bool zsUnsuppressed() const
was ZS unsuppressed?
bool zsMarkAndPass() const
was ZS MarkAndPass?
void setFiberIdleOffset(int offset)
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 &out, const ALILine &li)
HcalQIESample data_[MAXSAMPLES]
void setReadoutIds(const HcalElectronicsId &eid)
const HcalQIESample & sample(int i) const
access a sample
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 setPresamples(int ps)
int size() const
total number of samples in the digi
int capid() const
get the Capacitor id
HcalElectronicsId electronicsId_
static const int MAXSAMPLES
int presamples() const
number of samples before the sample from the triggered beam crossing (according to the hardware) ...
const HcalDetId & id() const
Readout chain identification for Hcal.
tuple size
Write out results.
void setZSInfo(bool unsuppressed, bool markAndPass, uint32_t crossingMask=0)