Definition of unsigned integer types with increment and overflow. More...
#include <L1GctJetCount.h>
Public Member Functions | |
L1GctJetCount () | |
Construct a counter and initialise its value to zero. | |
L1GctJetCount (unsigned value) | |
Construct a counter, checking for overFlow. | |
template<int mBits> | |
L1GctJetCount (const L1GctJetCount< mBits > &rhs) | |
Copy contructor to move data between representations with different numbers of bits. | |
L1GctJetCount | operator+ (const L1GctJetCount &rhs) const |
add two numbers | |
L1GctJetCount | operator++ (int) |
L1GctJetCount & | operator++ () |
Define increment operators, since this is a counter. | |
L1GctJetCount & | operator= (int value) |
overload = operator | |
void | setOverFlow (bool oflow) |
set the overflow bit | |
void | setValue (unsigned value) |
Set value from unsigned. | |
~L1GctJetCount () | |
Destructor. |
Definition of unsigned integer types with increment and overflow.
This file defines the template class L1GctJetCount. It is used to store energy values that are represented in a given number of bits in hardware. The value is set to the maximum (all bits set to '1') to represent an overFlow condition, if the number to be represented is outside the allowed range for that number of bits. The counters are unsigned integers. Functions are defined to increment the counter, to add two values, and to copy data into a different number of bits.
this header file contains method definitions because these are template classes see https://www.parashift.com/c++-faq-lite/templates.html#faq-35.12
Definition at line 31 of file L1GctJetCount.h.
L1GctJetCount< nBits >::L1GctJetCount | ( | ) |
Construct a counter and initialise its value to zero.
Definition at line 65 of file L1GctJetCount.h.
: L1GctUnsignedInt<nBits>() {}
L1GctJetCount< nBits >::L1GctJetCount | ( | unsigned | value | ) |
Construct a counter, checking for overFlow.
Definition at line 68 of file L1GctJetCount.h.
: L1GctUnsignedInt<nBits>(value) {}
L1GctJetCount< nBits >::~L1GctJetCount | ( | ) |
L1GctJetCount< nBits >::L1GctJetCount | ( | const L1GctJetCount< mBits > & | rhs | ) |
Copy contructor to move data between representations with different numbers of bits.
Definition at line 77 of file L1GctJetCount.h.
References L1GctUnsignedInt< nBits >::overFlow(), reco::JetExtendedAssociation::setValue(), and L1GctUnsignedInt< nBits >::value().
L1GctJetCount< nBits > L1GctJetCount< nBits >::operator+ | ( | const L1GctJetCount< nBits > & | rhs | ) | const |
add two numbers
Definition at line 125 of file L1GctJetCount.h.
References L1GctUnsignedInt< nBits >::overFlow(), L1GctJetCount< nBits >::setOverFlow(), L1GctJetCount< nBits >::setValue(), groupFilesInBlocks::temp, L1GctUnsignedInt< nBits >::value(), and relativeConstraints::value.
{ // temporary variable for storing the result (need to set its size) L1GctJetCount<nBits> temp; unsigned sum; bool ofl; // do the addition here sum = this->value() + rhs.value(); ofl = this->overFlow() || rhs.overFlow(); //fill the temporary argument temp.setValue(sum); temp.setOverFlow(temp.overFlow() || ofl); // return the temporary return temp; }
L1GctJetCount< nBits > & L1GctJetCount< nBits >::operator++ | ( | void | ) |
Define increment operators, since this is a counter.
Definition at line 106 of file L1GctJetCount.h.
References reco::JetExtendedAssociation::setValue().
L1GctJetCount< nBits > L1GctJetCount< nBits >::operator++ | ( | int | ) |
Definition at line 114 of file L1GctJetCount.h.
References L1GctJetCount< nBits >::setOverFlow(), reco::JetExtendedAssociation::setValue(), and groupFilesInBlocks::temp.
{ L1GctJetCount<nBits> temp(this->m_value); temp.setOverFlow(this->m_overFlow); this->setValue(this->m_value+1); return temp; }
L1GctJetCount< nBits > & L1GctJetCount< nBits >::operator= | ( | int | value | ) |
overload = operator
Reimplemented from L1GctUnsignedInt< nBits >.
Definition at line 148 of file L1GctJetCount.h.
References reco::JetExtendedAssociation::setValue().
void L1GctJetCount< nBits >::setOverFlow | ( | bool | oflow | ) |
set the overflow bit
Reimplemented from L1GctUnsignedInt< nBits >.
Definition at line 97 of file L1GctJetCount.h.
Referenced by L1GctJetCount< nBits >::operator+(), and L1GctJetCount< nBits >::operator++().
{ this->m_overFlow = oflow; if (oflow) { this->m_value = ((1<<this->m_nBits) - 1); } }
void L1GctJetCount< nBits >::setValue | ( | unsigned | value | ) |
Set value from unsigned.
Reimplemented from L1GctUnsignedInt< nBits >.
Definition at line 84 of file L1GctJetCount.h.
References relativeConstraints::value.
Referenced by L1GctJetCount< nBits >::operator+().