1 #ifndef DATAFORMATS_HCALDIGI_QIE10DATAFRAME_H 2 #define DATAFORMATS_HCALDIGI_QIE10DATAFRAME_H 27 explicit Sample(
const wide_type wide)
29 static_assert(
sizeof(wide) == 2*
sizeof(
word1_),
30 "The wide input type must be able to contain two words");
53 {
return (i > WORDS_PER_SAMPLE) ? 0 : ( (i==1) ?
word2_ :
word1_ ); }
56 "The wide result type must be able to contain two words");
92 if ((*
this)[
i].soi())
return i;
116 if (isample>=
size())
return;
135 #endif // DATAFORMATS_HCALDIGI_QIE10DATAFRAME_H int samples() const
total number of samples in the digi
edm::DataFrame::iterator begin()
iterators
static const int MASK_SOI
edm::DataFrame::const_iterator end() const
void setFlags(uint16_t v)
set the flag word
static const int MASK_CAPID
static const int MASK_LE_TDC
int presamples() const
for backward compatibility
uint16_t flags() const
get the flag word
Sample operator[](edm::DataFrame::size_type i) const
get the sample
Sample(const wide_type wide)
edm::DataFrame::id_type id() const
static const int WORDS_PER_SAMPLE
edm::DataFrame::size_type size() const
more accessors
edm::DataFrame::const_iterator begin() const
void setZSInfo(bool markAndPass)
set ZS params
static const int MASK_LINKERROR
was there a link error?
static const int MASK_ADC
constexpr id_type id() const
Sample(const edm::DataFrame &frame, edm::DataFrame::size_type i)
static const int MASK_MARKPASS
was this a mark-and-pass ZS event?
bool zsMarkAndPass() const
constexpr size_type size() const
DetId detid() const
Get the detector id.
static const int OFFSET_TE_TDC
QIE10DataFrame::Sample::wide_type wideRaw() const
edm::DataFrame::data_type word1_
edm::DataFrame::iterator end()
static const int OFFSET_FLAVOR
get the flavor of the frame
edm::DataFrame::data_type word2_
void copyContent(const QIE10DataFrame &digi)
static const int FLAG_WORDS
edm::DataFrame::data_type raw(edm::DataFrame::size_type i) const
static const int HEADER_WORDS
constexpr iterator begin()
Sample(const edm::DataFrame::data_type &word1, const edm::DataFrame::data_type &word2)
data_type const * const_iterator
static const int MASK_TE_TDC
std::ostream & operator<<(std::ostream &, const QIE10DataFrame &)
void setSample(edm::DataFrame::size_type isample, int adc, int le_tdc, int te_tdc, int capid, bool soi=false, bool ok=true)
set the sample contents
static const int MASK_FLAVOR
QIE10DataFrame(edm::DataFrame const &df)
static const int OFFSET_CAPID