CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
BTLSample Class Reference

wrapper for a data word More...

#include <BTLSample.h>

Public Types

enum  BTLSampleDataMasks { kToA2Mask = 0x3ff, kToAMask = 0x3ff, kDataMask = 0x3ff }
 
enum  BTLSampleDataShifts { kToA2Shift = 20, kToAShift = 10, kDataShift = 0 }
 
enum  BTLSampleFlagMasks { kThreshMask = 0x1, kModeMask = 0x1 }
 
enum  BTLSampleFlagShifts { kThreshShift = 1, kModeShift = 0 }
 

Public Member Functions

 BTLSample ()
 CTOR. More...
 
 BTLSample (uint32_t value, uint16_t flag, uint8_t row, uint8_t col)
 
 BTLSample (const BTLSample &o)
 
uint8_t column () const
 
uint32_t data () const
 
bool mode () const
 
void print (std::ostream &out=std::cout)
 
uint32_t raw_data () const
 getters More...
 
uint16_t raw_flag () const
 
uint8_t row () const
 
void set (bool thr, bool mode, uint16_t toa2, uint16_t toa, uint16_t data, uint8_t row, uint8_t col)
 
void setData (uint16_t data)
 
void setMode (bool mode)
 
void setThreshold (bool thr)
 setters More...
 
void setToA (uint16_t toa)
 
void setToA2 (uint16_t toa2)
 
bool threshold () const
 
uint32_t toa () const
 
uint32_t toa2 () const
 

Private Member Functions

void setDataWord (uint32_t word, uint32_t mask, uint32_t pos)
 wrapper to reset words at a given position More...
 
void setFlagWord (uint16_t word, uint16_t mask, uint16_t pos)
 

Private Attributes

uint8_t col_
 
uint16_t flag_
 
uint8_t row_
 
uint32_t value_
 

Detailed Description

wrapper for a data word

Definition at line 13 of file BTLSample.h.

Member Enumeration Documentation

Enumerator
kToA2Mask 
kToAMask 
kDataMask 

Definition at line 15 of file BTLSample.h.

Enumerator
kToA2Shift 
kToAShift 
kDataShift 

Definition at line 16 of file BTLSample.h.

Enumerator
kThreshMask 
kModeMask 

Definition at line 18 of file BTLSample.h.

Enumerator
kThreshShift 
kModeShift 

Definition at line 19 of file BTLSample.h.

Constructor & Destructor Documentation

BTLSample::BTLSample ( )
inline

CTOR.

Definition at line 24 of file BTLSample.h.

24 : value_(0), flag_(0), row_(0), col_(0) {}
uint8_t row_
Definition: BTLSample.h:84
uint16_t flag_
Definition: BTLSample.h:83
uint8_t col_
Definition: BTLSample.h:84
uint32_t value_
Definition: BTLSample.h:82
BTLSample::BTLSample ( uint32_t  value,
uint16_t  flag,
uint8_t  row,
uint8_t  col 
)
inline

Definition at line 25 of file BTLSample.h.

26  : value_(value), flag_(flag), row_(row), col_(col) {}
uint8_t row_
Definition: BTLSample.h:84
uint16_t flag_
Definition: BTLSample.h:83
uint8_t col_
Definition: BTLSample.h:84
uint32_t value_
Definition: BTLSample.h:82
uint8_t row() const
Definition: BTLSample.h:61
int col
Definition: cuy.py:1009
BTLSample::BTLSample ( const BTLSample o)
inline

Definition at line 27 of file BTLSample.h.

27 : value_(o.value_), flag_(o.flag_), row_(o.row_), col_(o.col_) {}
uint8_t row_
Definition: BTLSample.h:84
uint16_t flag_
Definition: BTLSample.h:83
uint8_t col_
Definition: BTLSample.h:84
uint32_t value_
Definition: BTLSample.h:82

Member Function Documentation

uint8_t BTLSample::column ( ) const
inline

Definition at line 62 of file BTLSample.h.

References col_.

Referenced by print().

62 { return col_; }
uint8_t col_
Definition: BTLSample.h:84
uint32_t BTLSample::data ( ) const
inline

Definition at line 60 of file BTLSample.h.

References kDataMask, kDataShift, and value_.

Referenced by print().

bool BTLSample::mode ( ) const
inline

Definition at line 57 of file BTLSample.h.

References flag_, kModeMask, and kModeShift.

Referenced by print().

57 { return ((flag_ >> kModeShift) & kModeMask); }
uint16_t flag_
Definition: BTLSample.h:83
void BTLSample::print ( std::ostream &  out = std::cout)
inline

Definition at line 45 of file BTLSample.h.

References column(), data(), TauDecayModes::dec, mode(), submitPVResolutionJobs::out, raw_data(), raw_flag(), row(), threshold(), toa(), and toa2().

45  {
46  out << "THR: " << threshold() << " Mode: " << mode() << " ToA2: " << toa2() << " ToA: " << toa()
47  << " Data: " << data() << " Row: " << (uint32_t)row() << " Column: " << (uint32_t)column() << " Raw Flag=0x"
48  << std::hex << raw_flag() << std::dec << " Raw Data=0x" << std::hex << raw_data() << std::dec << std::endl;
49  }
uint16_t raw_flag() const
Definition: BTLSample.h:55
bool threshold() const
Definition: BTLSample.h:56
uint32_t data() const
Definition: BTLSample.h:60
uint32_t toa2() const
Definition: BTLSample.h:59
bool mode() const
Definition: BTLSample.h:57
uint32_t toa() const
Definition: BTLSample.h:58
uint32_t raw_data() const
getters
Definition: BTLSample.h:54
uint8_t row() const
Definition: BTLSample.h:61
uint8_t column() const
Definition: BTLSample.h:62
uint32_t BTLSample::raw_data ( ) const
inline

getters

Definition at line 54 of file BTLSample.h.

References value_.

Referenced by print().

54 { return value_; }
uint32_t value_
Definition: BTLSample.h:82
uint16_t BTLSample::raw_flag ( ) const
inline

Definition at line 55 of file BTLSample.h.

References flag_.

Referenced by print().

55 { return flag_; }
uint16_t flag_
Definition: BTLSample.h:83
uint8_t BTLSample::row ( ) const
inline

Definition at line 61 of file BTLSample.h.

References row_.

Referenced by print(), and set().

61 { return row_; }
uint8_t row_
Definition: BTLSample.h:84
void BTLSample::set ( bool  thr,
bool  mode,
uint16_t  toa2,
uint16_t  toa,
uint16_t  data,
uint8_t  row,
uint8_t  col 
)
inline

Definition at line 37 of file BTLSample.h.

References cuy::col, col_, flag_, kDataMask, kDataShift, kModeMask, kModeShift, kThreshMask, kThreshShift, kToA2Mask, kToA2Shift, kToAMask, kToAShift, row(), row_, and value_.

Referenced by BTLElectronicsSim::runTrivialShaper().

37  {
38  flag_ = (((uint16_t)thr & kThreshMask) << kThreshShift | ((uint16_t)mode & kModeMask) << kModeShift);
39 
40  value_ = (((uint32_t)toa2 & kToA2Mask) << kToA2Shift | ((uint32_t)toa & kToAMask) << kToAShift |
41  ((uint32_t)data & kDataMask) << kDataShift);
42  row_ = row;
43  col_ = col;
44  }
uint8_t row_
Definition: BTLSample.h:84
uint32_t data() const
Definition: BTLSample.h:60
uint32_t toa2() const
Definition: BTLSample.h:59
uint16_t flag_
Definition: BTLSample.h:83
bool mode() const
Definition: BTLSample.h:57
uint32_t toa() const
Definition: BTLSample.h:58
uint8_t col_
Definition: BTLSample.h:84
uint32_t value_
Definition: BTLSample.h:82
uint8_t row() const
Definition: BTLSample.h:61
int col
Definition: cuy.py:1009
void BTLSample::setData ( uint16_t  data)
inline

Definition at line 36 of file BTLSample.h.

References kDataMask, kDataShift, and setDataWord().

uint32_t data() const
Definition: BTLSample.h:60
void setDataWord(uint32_t word, uint32_t mask, uint32_t pos)
wrapper to reset words at a given position
Definition: BTLSample.h:68
void BTLSample::setDataWord ( uint32_t  word,
uint32_t  mask,
uint32_t  pos 
)
inlineprivate

wrapper to reset words at a given position

Definition at line 68 of file BTLSample.h.

References value_.

Referenced by setData(), setToA(), and setToA2().

68  {
69  //clear required bits
70  value_ &= ~(mask << pos);
71  //now set the new value
72  value_ |= ((word & mask) << pos);
73  }
uint32_t value_
Definition: BTLSample.h:82
uint64_t word
void BTLSample::setFlagWord ( uint16_t  word,
uint16_t  mask,
uint16_t  pos 
)
inlineprivate

Definition at line 74 of file BTLSample.h.

References flag_.

Referenced by setMode(), and setThreshold().

74  {
75  //clear required bits
76  flag_ &= ~(mask << pos);
77  //now set the new value
78  flag_ |= ((word & mask) << pos);
79  }
uint16_t flag_
Definition: BTLSample.h:83
uint64_t word
void BTLSample::setMode ( bool  mode)
inline

Definition at line 33 of file BTLSample.h.

References kModeMask, kModeShift, and setFlagWord().

bool mode() const
Definition: BTLSample.h:57
void setFlagWord(uint16_t word, uint16_t mask, uint16_t pos)
Definition: BTLSample.h:74
void BTLSample::setThreshold ( bool  thr)
inline

setters

Definition at line 32 of file BTLSample.h.

References kThreshMask, kThreshShift, and setFlagWord().

void setFlagWord(uint16_t word, uint16_t mask, uint16_t pos)
Definition: BTLSample.h:74
void BTLSample::setToA ( uint16_t  toa)
inline

Definition at line 34 of file BTLSample.h.

References kToAMask, kToAShift, and setDataWord().

uint32_t toa() const
Definition: BTLSample.h:58
void setDataWord(uint32_t word, uint32_t mask, uint32_t pos)
wrapper to reset words at a given position
Definition: BTLSample.h:68
void BTLSample::setToA2 ( uint16_t  toa2)
inline

Definition at line 35 of file BTLSample.h.

References kToA2Mask, kToA2Shift, and setDataWord().

uint32_t toa2() const
Definition: BTLSample.h:59
void setDataWord(uint32_t word, uint32_t mask, uint32_t pos)
wrapper to reset words at a given position
Definition: BTLSample.h:68
bool BTLSample::threshold ( ) const
inline

Definition at line 56 of file BTLSample.h.

References flag_, kThreshMask, and kThreshShift.

Referenced by print().

uint32_t BTLSample::toa ( ) const
inline

Definition at line 58 of file BTLSample.h.

References kToAMask, kToAShift, and value_.

Referenced by print().

58 { return ((value_ >> kToAShift) & kToAMask); }
uint32_t value_
Definition: BTLSample.h:82
uint32_t BTLSample::toa2 ( ) const
inline

Definition at line 59 of file BTLSample.h.

References kToA2Mask, kToA2Shift, and value_.

Referenced by print().

Member Data Documentation

uint8_t BTLSample::col_
private

Definition at line 84 of file BTLSample.h.

Referenced by column(), and set().

uint16_t BTLSample::flag_
private

Definition at line 83 of file BTLSample.h.

Referenced by mode(), raw_flag(), set(), setFlagWord(), and threshold().

uint8_t BTLSample::row_
private

Definition at line 84 of file BTLSample.h.

Referenced by row(), and set().

uint32_t BTLSample::value_
private

Definition at line 82 of file BTLSample.h.

Referenced by data(), raw_data(), set(), setDataWord(), toa(), and toa2().