CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Static Public Attributes | Private Attributes
QIE10DataFrame Class Reference

#include <QIE10DataFrame.h>

Classes

class  Sample
 

Public Member Functions

edm::DataFrame::iterator begin ()
 iterators More...
 
edm::DataFrame::const_iterator begin () const
 
void copyContent (const QIE10DataFrame &digi)
 
DetId detid () const
 Get the detector id. More...
 
edm::DataFrame::iterator end ()
 
edm::DataFrame::const_iterator end () const
 
uint16_t flags () const
 get the flag word More...
 
int flavor () const
 
edm::DataFrame::id_type id () const
 
bool linkError () const
 
Sample operator[] (edm::DataFrame::size_type i) const
 get the sample More...
 
int presamples () const
 for backward compatibility More...
 
 QIE10DataFrame ()
 
 QIE10DataFrame (edm::DataFrame const &df)
 
int samples () const
 total number of samples in the digi More...
 
void setFlags (uint16_t v)
 set the flag word More...
 
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 More...
 
void setZSInfo (bool markAndPass)
 set ZS params More...
 
edm::DataFrame::size_type size () const
 more accessors More...
 
bool zsMarkAndPass () const
 

Static Public Attributes

static const int FLAG_WORDS = 1
 
static const int HEADER_WORDS = 1
 
static const int MASK_FLAVOR = 0x7
 
static const int MASK_LINKERROR = 0x800
 was there a link error? More...
 
static const int MASK_MARKPASS = 0x100
 was this a mark-and-pass ZS event? More...
 
static const int OFFSET_FLAVOR = 12
 get the flavor of the frame More...
 
static const int WORDS_PER_SAMPLE = 2
 

Private Attributes

edm::DataFrame m_data
 

Detailed Description

Precision readout digi from QIE10 including TDC information

Definition at line 11 of file QIE10DataFrame.h.

Constructor & Destructor Documentation

QIE10DataFrame::QIE10DataFrame ( )
inline

Definition at line 18 of file QIE10DataFrame.h.

18 { }
QIE10DataFrame::QIE10DataFrame ( edm::DataFrame const &  df)
inline

Definition at line 19 of file QIE10DataFrame.h.

19 : m_data(df) { }
edm::DataFrame m_data

Member Function Documentation

edm::DataFrame::iterator QIE10DataFrame::begin ( void  )
inline

iterators

Definition at line 83 of file QIE10DataFrame.h.

References edm::DataFrame::begin(), and m_data.

Referenced by UHTRpacker::addChannel().

83 { return m_data.begin(); }
edm::DataFrame m_data
constexpr iterator begin()
Definition: DataFrame.h:48
edm::DataFrame::const_iterator QIE10DataFrame::begin ( void  ) const
inline

Definition at line 85 of file QIE10DataFrame.h.

References edm::DataFrame::begin(), and m_data.

85 { return m_data.begin(); }
edm::DataFrame m_data
constexpr iterator begin()
Definition: DataFrame.h:48
void QIE10DataFrame::copyContent ( const QIE10DataFrame digi)
inline

Definition at line 70 of file QIE10DataFrame.h.

References QIE10DataFrame::Sample::adc(), QIE10DataFrame::Sample::capid(), mps_fire::i, QIE10DataFrame::Sample::le_tdc(), QIE10DataFrame::Sample::ok(), setSample(), size(), QIE10DataFrame::Sample::soi(), and QIE10DataFrame::Sample::te_tdc().

70  {
71  for (edm::DataFrame::size_type i=0; i<size() && i<digi.size();i++){
72  Sample sam = digi[i];
73  setSample(i, sam.adc(), sam.le_tdc(), sam.te_tdc(), sam.capid(), sam.soi(), sam.ok());
74  }
75  }
edm::DataFrame::size_type size() const
more accessors
unsigned int size_type
Definition: DataFrame.h:18
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
DetId QIE10DataFrame::detid ( ) const
inline
edm::DataFrame::iterator QIE10DataFrame::end ( void  )
inline

Definition at line 84 of file QIE10DataFrame.h.

References edm::DataFrame::end(), and m_data.

Referenced by UHTRpacker::addChannel(), Types.LuminosityBlockRange::cppID(), and Types.EventRange::cppID().

84 { return m_data.end(); }
constexpr iterator end()
Definition: DataFrame.h:51
edm::DataFrame m_data
edm::DataFrame::const_iterator QIE10DataFrame::end ( void  ) const
inline

Definition at line 86 of file QIE10DataFrame.h.

References edm::DataFrame::end(), and m_data.

Referenced by Types.LuminosityBlockRange::cppID(), and Types.EventRange::cppID().

86 { return m_data.end(); }
constexpr iterator end()
Definition: DataFrame.h:51
edm::DataFrame m_data
uint16_t QIE10DataFrame::flags ( ) const
inline

get the flag word

Definition at line 121 of file QIE10DataFrame.h.

References m_data, and size().

121 { return m_data[size()-1]; }
edm::DataFrame m_data
edm::DataFrame::size_type size() const
more accessors
int QIE10DataFrame::flavor ( ) const
inline

Definition at line 99 of file QIE10DataFrame.h.

References m_data.

99 { return ((m_data[0]>>OFFSET_FLAVOR)&MASK_FLAVOR); }
edm::DataFrame m_data
static const int OFFSET_FLAVOR
get the flavor of the frame
static const int MASK_FLAVOR
edm::DataFrame::id_type QIE10DataFrame::id ( ) const
inline
bool QIE10DataFrame::linkError ( ) const
inline

Definition at line 102 of file QIE10DataFrame.h.

References m_data, and MASK_LINKERROR.

Referenced by operator<<(), and HcalTriggerPrimitiveAlgo::validChannel().

102 { return m_data[0]&MASK_LINKERROR; }
edm::DataFrame m_data
static const int MASK_LINKERROR
was there a link error?
Sample QIE10DataFrame::operator[] ( edm::DataFrame::size_type  i) const
inline

get the sample

Definition at line 111 of file QIE10DataFrame.h.

References m_data, and QIE10DataFrame::Sample::Sample().

111 { return Sample(m_data,i*WORDS_PER_SAMPLE+HEADER_WORDS); }
edm::DataFrame m_data
static const int WORDS_PER_SAMPLE
static const int HEADER_WORDS
int QIE10DataFrame::presamples ( ) const
inline

for backward compatibility

Definition at line 90 of file QIE10DataFrame.h.

References mps_fire::i, and samples().

Referenced by HcalTriggerPrimitiveAlgo::addSignal(), HFPreReconstructor::fillInfos(), and HcalDigiToRawuHTR::produce().

90  {
91  for (int i=0; i<samples(); i++) {
92  if ((*this)[i].soi()) return i;
93  }
94  return -1;
95  }
int samples() const
total number of samples in the digi
int QIE10DataFrame::samples ( ) const
inline
void QIE10DataFrame::setFlags ( uint16_t  v)
inline

set the flag word

Definition at line 123 of file QIE10DataFrame.h.

References m_data, size(), and findQualityFiles::v.

Referenced by Vispa.Plugins.EdmBrowser.EventContentView.LabelItem::__init__().

123  {
124  m_data[size()-1]=v;
125  }
edm::DataFrame m_data
edm::DataFrame::size_type size() const
more accessors
void QIE10DataFrame::setSample ( edm::DataFrame::size_type  isample,
int  adc,
int  le_tdc,
int  te_tdc,
int  capid,
bool  soi = false,
bool  ok = true 
)
inline

set the sample contents

Definition at line 113 of file QIE10DataFrame.h.

References HEADER_WORDS, m_data, QIE10DataFrame::Sample::MASK_ADC, QIE10DataFrame::Sample::MASK_CAPID, QIE10DataFrame::Sample::MASK_LE_TDC, QIE10DataFrame::Sample::MASK_OK, QIE10DataFrame::Sample::MASK_SOI, QIE10DataFrame::Sample::MASK_TE_TDC, QIE10DataFrame::Sample::OFFSET_CAPID, QIE10DataFrame::Sample::OFFSET_TE_TDC, QIE10DataFrame::Sample::ok(), size(), and QIE10DataFrame::Sample::soi().

Referenced by copyContent().

115  {
116  if (isample>=size()) return;
118  m_data[isample*WORDS_PER_SAMPLE+HEADER_WORDS+1]=(le_tdc&Sample::MASK_LE_TDC)|((te_tdc&Sample::MASK_TE_TDC)<<Sample::OFFSET_TE_TDC)|((capid&Sample::MASK_CAPID)<<Sample::OFFSET_CAPID)|0x4000; // 0x4000 marks this as second word of a pair
119  }
int adc(sample_type sample)
get the ADC sample (12 bits)
static const int MASK_OK
static const int MASK_SOI
static const int MASK_CAPID
static const int MASK_LE_TDC
edm::DataFrame m_data
static const int WORDS_PER_SAMPLE
edm::DataFrame::size_type size() const
more accessors
static const int MASK_ADC
static const int OFFSET_TE_TDC
static const int HEADER_WORDS
static const int MASK_TE_TDC
static const int OFFSET_CAPID
void QIE10DataFrame::setZSInfo ( bool  markAndPass)
inline

set ZS params

Definition at line 107 of file QIE10DataFrame.h.

References m_data, and MASK_MARKPASS.

Referenced by HcalZeroSuppressionAlgo::suppress().

107  {
108  if(markAndPass) m_data[0] |= MASK_MARKPASS;
109  }
edm::DataFrame m_data
static const int MASK_MARKPASS
was this a mark-and-pass ZS event?
edm::DataFrame::size_type QIE10DataFrame::size ( void  ) const
inline

more accessors

Definition at line 81 of file QIE10DataFrame.h.

References m_data, and edm::DataFrame::size().

Referenced by ntupleDataFormat._Collection::__iter__(), ntupleDataFormat._Collection::__len__(), copyContent(), flags(), samples(), setFlags(), and setSample().

81 { return m_data.size(); }
edm::DataFrame m_data
constexpr size_type size() const
Definition: DataFrame.h:64
bool QIE10DataFrame::zsMarkAndPass ( ) const
inline

Definition at line 105 of file QIE10DataFrame.h.

References m_data, and MASK_MARKPASS.

Referenced by HFPreReconstructor::fillInfos(), and operator<<().

105 {return m_data[0]&MASK_MARKPASS; }
edm::DataFrame m_data
static const int MASK_MARKPASS
was this a mark-and-pass ZS event?

Member Data Documentation

const int QIE10DataFrame::FLAG_WORDS = 1
static

Definition at line 16 of file QIE10DataFrame.h.

Referenced by UHTRpacker::addChannel().

const int QIE10DataFrame::HEADER_WORDS = 1
static

Definition at line 15 of file QIE10DataFrame.h.

Referenced by UHTRpacker::addChannel(), and setSample().

edm::DataFrame QIE10DataFrame::m_data
private
const int QIE10DataFrame::MASK_FLAVOR = 0x7
static

Definition at line 98 of file QIE10DataFrame.h.

const int QIE10DataFrame::MASK_LINKERROR = 0x800
static

was there a link error?

Definition at line 101 of file QIE10DataFrame.h.

Referenced by linkError().

const int QIE10DataFrame::MASK_MARKPASS = 0x100
static

was this a mark-and-pass ZS event?

Definition at line 104 of file QIE10DataFrame.h.

Referenced by setZSInfo(), and zsMarkAndPass().

const int QIE10DataFrame::OFFSET_FLAVOR = 12
static

get the flavor of the frame

Definition at line 97 of file QIE10DataFrame.h.

const int QIE10DataFrame::WORDS_PER_SAMPLE = 2
static

Definition at line 14 of file QIE10DataFrame.h.

Referenced by samples().