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>
102template<
class DSPHEADER>
105#ifdef LARBYTESTREAMRODBLOCK_CHCKBOUNDARIES
106 if (channelNumber>=128) {
107 std::cout <<
"Error WRITE BEYOND ARRAY BONDARY!" << std::endl;
111 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
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)
LArRodBlockCalibrationV0(IMessageSvc *msgSvc)
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(IMessageSvc *msgSvc)