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

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

constexpr QIE10DataFrame::QIE10DataFrame ( )
inline

Definition at line 17 of file QIE10DataFrame.h.

17 {}

◆ QIE10DataFrame() [2/2]

constexpr QIE10DataFrame::QIE10DataFrame ( edm::DataFrame const &  df)
inline

Definition at line 18 of file QIE10DataFrame.h.

Member Function Documentation

◆ begin() [1/2]

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

iterators

Definition at line 81 of file QIE10DataFrame.h.

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

Referenced by UHTRpacker::addChannel(), and zdchelper::setZDCSaturation().

81 { return m_data.begin(); }
edm::DataFrame m_data
constexpr iterator begin()
Definition: DataFrame.h:33

◆ begin() [2/2]

constexpr edm::DataFrame::const_iterator QIE10DataFrame::begin ( void  ) const
inline

Definition at line 83 of file QIE10DataFrame.h.

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

83 { return m_data.begin(); }
edm::DataFrame m_data
constexpr iterator begin()
Definition: DataFrame.h:33

◆ copyContent()

constexpr void QIE10DataFrame::copyContent ( const QIE10DataFrame digi)
inline

Definition at line 68 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().

68  {
69  for (edm::DataFrame::size_type i = 0; i < size() && i < digi.size(); i++) {
70  Sample sam = digi[i];
71  setSample(i, sam.adc(), sam.le_tdc(), sam.te_tdc(), sam.capid(), sam.soi(), sam.ok());
72  }
73  }
constexpr edm::DataFrame::size_type size() const
more accessors
constexpr 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
unsigned int size_type
Definition: DataFrame.h:17

◆ detid()

constexpr DetId QIE10DataFrame::detid ( ) const
inline

◆ end() [1/2]

constexpr edm::DataFrame::iterator QIE10DataFrame::end ( void  )
inline

Definition at line 82 of file QIE10DataFrame.h.

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

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

82 { return m_data.end(); }
constexpr iterator end()
Definition: DataFrame.h:35
edm::DataFrame m_data

◆ end() [2/2]

constexpr edm::DataFrame::const_iterator QIE10DataFrame::end ( void  ) const
inline

Definition at line 84 of file QIE10DataFrame.h.

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

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

84 { return m_data.end(); }
constexpr iterator end()
Definition: DataFrame.h:35
edm::DataFrame m_data

◆ flags()

constexpr uint16_t QIE10DataFrame::flags ( ) const
inline

get the flag word

Definition at line 126 of file QIE10DataFrame.h.

References m_data, and size().

Referenced by QIE10DigiSortedTable::add().

126 { return m_data[size() - 1]; }
constexpr edm::DataFrame::size_type size() const
more accessors
edm::DataFrame m_data

◆ flavor()

constexpr int QIE10DataFrame::flavor ( ) const
inline

Definition at line 98 of file QIE10DataFrame.h.

References m_data, MASK_FLAVOR, and OFFSET_FLAVOR.

98 { 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

◆ id()

constexpr edm::DataFrame::id_type QIE10DataFrame::id ( ) const
inline

◆ linkError()

constexpr bool QIE10DataFrame::linkError ( ) const
inline

Definition at line 101 of file QIE10DataFrame.h.

References m_data, and MASK_LINKERROR.

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

101 { return m_data[0] & MASK_LINKERROR; }
edm::DataFrame m_data
static const int MASK_LINKERROR
was there a link error?

◆ operator[]()

constexpr Sample QIE10DataFrame::operator[] ( edm::DataFrame::size_type  i) const
inline

get the sample

Definition at line 111 of file QIE10DataFrame.h.

References HEADER_WORDS, mps_fire::i, m_data, and WORDS_PER_SAMPLE.

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

◆ presamples()

constexpr int QIE10DataFrame::presamples ( ) const
inline

for backward compatibility

Definition at line 88 of file QIE10DataFrame.h.

References mps_fire::i, and samples().

Referenced by HcalDigiToRawuHTR::produce().

88  {
89  for (int i = 0; i < samples(); i++) {
90  if ((*this)[i].soi())
91  return i;
92  }
93  return -1;
94  }
constexpr int samples() const
total number of samples in the digi

◆ samples()

constexpr int QIE10DataFrame::samples ( ) const
inline

◆ setFlags()

constexpr void QIE10DataFrame::setFlags ( uint16_t  v)
inline

set the flag word

Definition at line 128 of file QIE10DataFrame.h.

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

128 { m_data[size() - 1] = v; }
constexpr edm::DataFrame::size_type size() const
more accessors
edm::DataFrame m_data

◆ setSample()

constexpr 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 115 of file QIE10DataFrame.h.

References gpuClustering::adc, 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, convertSQLiteXML::ok, size(), and WORDS_PER_SAMPLE.

Referenced by copyContent(), and HcalTDC::timing().

116  {
117  if (isample >= size())
118  return;
119  m_data[isample * WORDS_PER_SAMPLE + HEADER_WORDS] =
120  (adc & Sample::MASK_ADC) | (soi ? (Sample::MASK_SOI) : (0)) | (ok ? (Sample::MASK_OK) : (0));
121  m_data[isample * WORDS_PER_SAMPLE + HEADER_WORDS + 1] =
122  (le_tdc & Sample::MASK_LE_TDC) | ((te_tdc & Sample::MASK_TE_TDC) << Sample::OFFSET_TE_TDC) |
123  ((capid & Sample::MASK_CAPID) << Sample::OFFSET_CAPID) | 0x4000; // 0x4000 marks this as second word of a pair
124  }
static const int MASK_OK
static const int MASK_SOI
constexpr edm::DataFrame::size_type size() const
more accessors
static const int MASK_CAPID
static const int MASK_LE_TDC
edm::DataFrame m_data
static const int WORDS_PER_SAMPLE
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
uint16_t *__restrict__ uint16_t const *__restrict__ adc

◆ setZSInfo()

constexpr void QIE10DataFrame::setZSInfo ( bool  markAndPass)
inline

set ZS params

Definition at line 106 of file QIE10DataFrame.h.

References m_data, DigiNZS_cff::markAndPass, and MASK_MARKPASS.

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

◆ size()

constexpr edm::DataFrame::size_type QIE10DataFrame::size ( void  ) const
inline

more accessors

Definition at line 79 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().

79 { return m_data.size(); }
edm::DataFrame m_data
constexpr size_type size() const
Definition: DataFrame.h:43

◆ zsMarkAndPass()

constexpr bool QIE10DataFrame::zsMarkAndPass ( ) const
inline

Definition at line 104 of file QIE10DataFrame.h.

References m_data, and MASK_MARKPASS.

Referenced by operator<<(), and ZdcHitReconstructor_Run3::produce().

104 { 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

◆ FLAG_WORDS

const int QIE10DataFrame::FLAG_WORDS = 1
static

Definition at line 15 of file QIE10DataFrame.h.

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

◆ HEADER_WORDS

const int QIE10DataFrame::HEADER_WORDS = 1
static

Definition at line 14 of file QIE10DataFrame.h.

Referenced by UHTRpacker::addChannel(), operator[](), samples(), and setSample().

◆ m_data

edm::DataFrame QIE10DataFrame::m_data
private

◆ MASK_FLAVOR

const int QIE10DataFrame::MASK_FLAVOR = 0x7
static

Definition at line 97 of file QIE10DataFrame.h.

Referenced by flavor().

◆ MASK_LINKERROR

const int QIE10DataFrame::MASK_LINKERROR = 0x800
static

was there a link error?

Definition at line 100 of file QIE10DataFrame.h.

Referenced by linkError().

◆ MASK_MARKPASS

const int QIE10DataFrame::MASK_MARKPASS = 0x100
static

was this a mark-and-pass ZS event?

Definition at line 103 of file QIE10DataFrame.h.

Referenced by setZSInfo(), and zsMarkAndPass().

◆ OFFSET_FLAVOR

const int QIE10DataFrame::OFFSET_FLAVOR = 12
static

get the flavor of the frame

Definition at line 96 of file QIE10DataFrame.h.

Referenced by flavor().

◆ WORDS_PER_SAMPLE

const int QIE10DataFrame::WORDS_PER_SAMPLE = 2
static

Definition at line 13 of file QIE10DataFrame.h.

Referenced by operator[](), QIE10DataFrame::Sample::raw(), samples(), and setSample().