7#ifndef LARBYTESTREAM_LARRODBLOCKCALIBRATIONV0_H
8#define LARBYTESTREAM_LARRODBLOCKCALIBRATIONV0_H
51template<
class DSPHEADER>
62 virtual void setDAC(
const uint16_t DacValue);
63 virtual void setDelay(
const uint16_t delayValue);
64 virtual void setPulsed(
const unsigned channelNumber);
66 inline uint16_t
getDAC()
const;
68 inline bool getPulsed(
const unsigned channelNumber)
const;
75template<
class DSPHEADER>
81template<
class DSPHEADER>
87template<
class DSPHEADER>
89{
return this->
getBit(this->
m_FebBlock+(DSPHEADER::IsPulsed/2),channelNumber);}
92template<
class DSPHEADER>
96template<
class DSPHEADER>
103template<
class DSPHEADER>
106#ifdef LARBYTESTREAMRODBLOCK_CHCKBOUNDARIES
107 if (channelNumber>=128) {
108 std::cout <<
"Error WRITE BEYOND ARRAY BONDARY!" << std::endl;
112 this->
setBit((uint32_t*) (&(this->
m_vFragment->front())+(DSPHEADER::IsPulsed/2)),channelNumber);
static void setBit(unsigned char &field, unsigned num, bool val)
static bool getBit(unsigned char field, unsigned num)
uint16_t getDelay() const
LArRodBlockCalibrationV0()
bool getPulsed(const unsigned channelNumber) const
virtual void setDAC(const uint16_t DacValue)
virtual bool canSetCalibration()
virtual uint32_t hasRawDataBlock() const
virtual void setDelay(const uint16_t delayValue)
virtual void setPulsed(const unsigned channelNumber)
uint16_t getHeader16(const unsigned n) const
const uint32_t * m_FebBlock
void setHeader16(const unsigned n, const uint16_t w)
std::vector< uint32_t > * m_vFragment
LArRodBlockTransparentV0()