CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
ETLSample Class Reference

wrapper for a data word More...

#include <ETLSample.h>

Public Types

enum  ETLSampleMasks {
  kThreshMask = 0x1, kModeMask = 0x1, kColumnMask = 0x1f, kRowMask = 0x3f,
  kToAMask = 0x7ff, kDataMask = 0xff
}
 
enum  ETLSampleShifts {
  kThreshShift = 31, kModeShift = 30, kColumnShift = 25, kRowShift = 19,
  kToAShift = 8, kDataShift = 0
}
 

Public Member Functions

uint32_t column () const
 
uint32_t data () const
 
 ETLSample ()
 CTOR. More...
 
 ETLSample (uint32_t value)
 
 ETLSample (const ETLSample &o)
 
bool mode () const
 
uint32_t operator() ()
 
void print (std::ostream &out=std::cout)
 
uint32_t raw () const
 getters More...
 
uint32_t row () const
 
void set (bool thr, bool mode, uint16_t toa, uint16_t data, uint8_t row, uint8_t col)
 
void setColumn (uint8_t col)
 
void setData (uint16_t data)
 
void setMode (bool mode)
 
void setRow (uint8_t row)
 
void setThreshold (bool thr)
 setters More...
 
void setToA (uint16_t toa)
 
bool threshold () const
 
uint32_t toa () const
 

Private Member Functions

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

Private Attributes

uint32_t value_
 

Detailed Description

wrapper for a data word

Definition at line 13 of file ETLSample.h.

Member Enumeration Documentation

Enumerator
kThreshMask 
kModeMask 
kColumnMask 
kRowMask 
kToAMask 
kDataMask 

Definition at line 17 of file ETLSample.h.

Enumerator
kThreshShift 
kModeShift 
kColumnShift 
kRowShift 
kToAShift 
kDataShift 

Definition at line 19 of file ETLSample.h.

Constructor & Destructor Documentation

ETLSample::ETLSample ( )
inline

CTOR.

Definition at line 25 of file ETLSample.h.

25 : value_(0) { }
uint32_t value_
Definition: ETLSample.h:83
ETLSample::ETLSample ( uint32_t  value)
inline

Definition at line 26 of file ETLSample.h.

26 : value_(value) { }
Definition: value.py:1
uint32_t value_
Definition: ETLSample.h:83
ETLSample::ETLSample ( const ETLSample o)
inline

Definition at line 27 of file ETLSample.h.

27 : value_(o.value_) { }
uint32_t value_
Definition: ETLSample.h:83

Member Function Documentation

uint32_t ETLSample::column ( ) const
inline

Definition at line 63 of file ETLSample.h.

References kColumnMask, kColumnShift, and value_.

Referenced by print().

uint32_t ETLSample::data ( ) const
inline

Definition at line 66 of file ETLSample.h.

References kDataMask, kDataShift, and value_.

Referenced by print().

66 { return ( (value_ >> kDataShift) & kDataMask ); }
uint32_t value_
Definition: ETLSample.h:83
bool ETLSample::mode ( ) const
inline

Definition at line 62 of file ETLSample.h.

References kModeMask, kModeShift, and value_.

Referenced by print().

62 { return ( (value_ >> kModeShift) & kModeMask ); }
uint32_t value_
Definition: ETLSample.h:83
uint32_t ETLSample::operator() ( )
inline

Definition at line 67 of file ETLSample.h.

References value_.

67 { return value_; }
uint32_t value_
Definition: ETLSample.h:83
void ETLSample::print ( std::ostream &  out = std::cout)
inline

Definition at line 47 of file ETLSample.h.

References column(), data(), TauDecayModes::dec, mode(), MillePedeFileConverter_cfg::out, raw(), row(), threshold(), and toa().

48  {
49  out << "(row,col) : (" << row() << ',' << column() << ") "
50  << "THR: " << threshold()
51  << " Mode: " << mode()
52  << " ToA: " << toa()
53  << " Data: " << data()
54  << " Raw=0x" << std::hex << raw() << std::dec << std::endl;
55  }
uint32_t column() const
Definition: ETLSample.h:63
bool mode() const
Definition: ETLSample.h:62
bool threshold() const
Definition: ETLSample.h:61
uint32_t raw() const
getters
Definition: ETLSample.h:60
uint32_t toa() const
Definition: ETLSample.h:65
uint32_t row() const
Definition: ETLSample.h:64
uint32_t data() const
Definition: ETLSample.h:66
uint32_t ETLSample::raw ( ) const
inline

getters

Definition at line 60 of file ETLSample.h.

References value_.

Referenced by print().

60 { return value_; }
uint32_t value_
Definition: ETLSample.h:83
uint32_t ETLSample::row ( ) const
inline

Definition at line 64 of file ETLSample.h.

References kRowMask, kRowShift, and value_.

Referenced by print().

64 { return ( (value_ >> kRowShift) & kRowMask ); }
uint32_t value_
Definition: ETLSample.h:83
void ETLSample::set ( bool  thr,
bool  mode,
uint16_t  toa,
uint16_t  data,
uint8_t  row,
uint8_t  col 
)
inline

Definition at line 38 of file ETLSample.h.

References cuy::col, kColumnMask, kColumnShift, kDataMask, kDataShift, kModeMask, kModeShift, kRowMask, kRowShift, kThreshMask, kThreshShift, kToAMask, kToAShift, and value_.

Referenced by ETLElectronicsSim::runTrivialShaper().

39  {
40  value_ = ( ( (uint32_t)thr & kThreshMask ) << kThreshShift |
41  ( (uint32_t)mode & kModeMask ) << kModeShift |
42  ( (uint32_t)col & kColumnMask ) << kColumnShift |
43  ( (uint32_t)row & kRowMask ) << kRowShift |
44  ( (uint32_t)toa & kToAMask ) << kToAShift |
45  ( (uint32_t)data & kDataMask ) << kDataShift );
46  }
bool mode() const
Definition: ETLSample.h:62
uint32_t toa() const
Definition: ETLSample.h:65
col
Definition: cuy.py:1010
uint32_t value_
Definition: ETLSample.h:83
uint32_t row() const
Definition: ETLSample.h:64
uint32_t data() const
Definition: ETLSample.h:66
void ETLSample::setColumn ( uint8_t  col)
inline

Definition at line 34 of file ETLSample.h.

References kColumnMask, kColumnShift, and setWord().

col
Definition: cuy.py:1010
void setWord(uint32_t word, uint32_t mask, uint32_t pos)
wrapper to reset words at a given position
Definition: ETLSample.h:74
void ETLSample::setData ( uint16_t  data)
inline

Definition at line 37 of file ETLSample.h.

References kDataMask, kDataShift, and setWord().

void setWord(uint32_t word, uint32_t mask, uint32_t pos)
wrapper to reset words at a given position
Definition: ETLSample.h:74
uint32_t data() const
Definition: ETLSample.h:66
void ETLSample::setMode ( bool  mode)
inline

Definition at line 33 of file ETLSample.h.

References kModeMask, kModeShift, and setWord().

bool mode() const
Definition: ETLSample.h:62
void setWord(uint32_t word, uint32_t mask, uint32_t pos)
wrapper to reset words at a given position
Definition: ETLSample.h:74
void ETLSample::setRow ( uint8_t  row)
inline

Definition at line 35 of file ETLSample.h.

References kRowMask, kRowShift, and setWord().

void setWord(uint32_t word, uint32_t mask, uint32_t pos)
wrapper to reset words at a given position
Definition: ETLSample.h:74
uint32_t row() const
Definition: ETLSample.h:64
void ETLSample::setThreshold ( bool  thr)
inline

setters

Definition at line 32 of file ETLSample.h.

References kThreshMask, kThreshShift, and setWord().

void setWord(uint32_t word, uint32_t mask, uint32_t pos)
wrapper to reset words at a given position
Definition: ETLSample.h:74
void ETLSample::setToA ( uint16_t  toa)
inline

Definition at line 36 of file ETLSample.h.

References kToAMask, kToAShift, and setWord().

uint32_t toa() const
Definition: ETLSample.h:65
void setWord(uint32_t word, uint32_t mask, uint32_t pos)
wrapper to reset words at a given position
Definition: ETLSample.h:74
void ETLSample::setWord ( uint32_t  word,
uint32_t  mask,
uint32_t  pos 
)
inlineprivate

wrapper to reset words at a given position

Definition at line 74 of file ETLSample.h.

References RecoTauDiscriminantConfiguration::mask, and value_.

Referenced by setColumn(), setData(), setMode(), setRow(), setThreshold(), and setToA().

75  {
76  //clear required bits
77  value_ &= ~(mask << pos);
78  //now set the new value
79  value_ |= ( (word & mask) << pos );
80  }
uint32_t value_
Definition: ETLSample.h:83
bool ETLSample::threshold ( ) const
inline

Definition at line 61 of file ETLSample.h.

References kThreshMask, kThreshShift, and value_.

Referenced by print().

uint32_t ETLSample::toa ( ) const
inline

Definition at line 65 of file ETLSample.h.

References kToAMask, kToAShift, and value_.

Referenced by print().

65 { return ( (value_ >> kToAShift) & kToAMask ); }
uint32_t value_
Definition: ETLSample.h:83

Member Data Documentation

uint32_t ETLSample::value_
private

Definition at line 83 of file ETLSample.h.

Referenced by column(), data(), mode(), operator()(), raw(), row(), set(), setWord(), threshold(), and toa().