5#ifndef TRIGT1CALOBYTESTREAM_WORDDECODER_H
6#define TRIGT1CALOBYTESTREAM_WORDDECODER_H
20 BitField(
const std::string& name, uint8_t begin, uint8_t size);
22 template<
typename T> T
get(
const uint32_t& word)
const {
26 template<
typename T>
static T
get(
const uint32_t& word, uint8_t offset, uint8_t size){
27 return T((word >> offset) & ((1 << size) - 1));
30 static uint32_t
mask(uint32_t word, uint8_t offset, uint32_t
mask) {
31 return (word >> offset) &
mask;
42 template<
typename T> T
get(
const uint32_t& word, uint8_t
index)
const{
static uint32_t mask(uint32_t word, uint8_t offset, uint32_t mask)
BitField(const std::string &name, uint8_t begin, uint8_t size)
T get(const uint32_t &word) const
static T get(const uint32_t &word, uint8_t offset, uint8_t size)
WordDecoder(const std::vector< BitField > &bitFields)
T get(const uint32_t &word, uint8_t index) const
std::vector< BitField > m_bitFields