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));
63 s << digi.
id() <<
" " << digi.
size() <<
" samples " << digi.
presamples() <<
" presamples ";
71 for (
int i=0;
i<digi.
size();
i++)
72 s <<
" " << digi.
sample(
i) << std::endl;
void setPresamples(int ps)
std::ostream & operator<<(std::ostream &out, const ALILine &li)
static const int MAXSAMPLES
bool zsUnsuppressed() const
was ZS unsuppressed?
void setFiberIdleOffset(int offset)
int presamples() const
number of samples before the sample from the triggered beam crossing (according to the hardware) ...
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...
unsigned int offset(bool)
void setReadoutIds(const HcalElectronicsId &eid)
const HcalZDCDetId & id() const
int capid() const
get the Capacitor id
void setZSInfo(bool unsuppressed, bool markAndPass, uint32_t crossingMask=0)
int size() const
total number of samples in the digi
HcalQIESample data_[MAXSAMPLES]
int fiberIdleOffset() const
offset of bunch number for this channel relative to nominal set in the unpacker (range is +7->-7...
bool zsMarkAndPass() const
was ZS MarkAndPass?
HcalElectronicsId electronicsId_
Readout chain identification for Hcal [31:26] Unused (so far) [25] Trigger-chain id flag [24:20] Read...
tuple size
Write out results.