9#ifndef ZDCPPMSUBBLOCK_H
10#define ZDCPPMSUBBLOCK_H
53 const std::vector<int>& fadc,
54 const std::vector<int>& bcidLut,
55 const std::vector<int>& bcidFadc);
57 void ppmData(
int chan, std::vector<int>& lut,
58 std::vector<int>& fadc,
59 std::vector<int>& bcidLut,
60 std::vector<int>& bcidFadc)
const;
131 const std::vector<uint32_t>&
compStats()
const;
169 int asic(
int chan)
const;
171 int pin(
int chan)
const;
int pin(int chan) const
Return the G-Link pin corresponding to a data channel.
bool unpackNeutral()
Unpack neutral data.
void fillPpmData(int chan, const std::vector< int > &lut, const std::vector< int > &fadc, const std::vector< int > &bcidLut, const std::vector< int > &bcidFadc)
Store PPM data for later packing.
std::vector< uint32_t > m_compStats
Vector for compression statistics.
int channelsPerSubBlock() const
void setCompStats(const std::vector< uint32_t > &stats)
Set compression stats.
bool channelDisabledB() const
void setPedestal(int pedval)
bool glinkPinParity() const
bool channelDisabledD() const
void setLutOffset(int offset)
static const uint32_t s_bcidFadcMask
static const int s_glinkPins
static const int s_eventMismatchBit
int ppmPinError(int pin) const
Return the error word for a G-Link pin.
bool unpackUncompressedData()
Unpack uncompressed data.
void ppmData(int chan, std::vector< int > &lut, std::vector< int > &fadc, std::vector< int > &bcidLut, std::vector< int > &bcidFadc) const
Return unpacked data for given channel.
static const int s_ppmChannel[]
static const uint32_t s_bcidLutMask
bool eventMismatch() const
void setFadcThreshold(int threshold)
bool packNeutral()
Pack neutral data.
static const int s_dataBits
static const uint32_t s_fadcMask
void fillPpmPinError(int pin, int errorWord)
Store an error word corresponding to a G-Link pin.
static const int s_fpgaCorruptBit
void setFadcBaseline(int baseline)
bool channelDisabled(int chan) const
const std::vector< uint32_t > & compStats() const
Return reference to compression stats.
bool unpack()
Unpack data.
static const int s_glinkPinParityBit
int asic(int chan) const
Return the ASIC channel corresponding to a data channel.
static const int s_bunchMismatchBit
bool packUncompressedErrors()
Pack uncompressed error data.
static const int s_bcidLutBit
static const int s_asicChannels
static const int s_bunchCrossingBits
std::vector< uint32_t > m_datamap
Vector for intermediate data.
bool packUncompressedData()
Pack uncompressed data.
void setRunNumber(int run)
int ppmError(int chan) const
Return the error word for a data channel.
static const int s_asicFullBit
static bool errorBlock(uint32_t word)
Check if a header word is for an error block.
static const int s_wordLen
void fillPpmError(int chan, int errorWord)
Store an error word corresponding to a data channel.
static const uint32_t s_wordIdVal
Sub-Block class for PPM data.
void setFadcOffset(int offset)
static const int s_errorBits
int fadcThreshold() const
static const int s_errorMarker
static const int s_timeoutBit
int getPpmChannel(const int channel) const
static const int s_channelDisabledBit
static const int s_fadcBit
bool errorBit(int pin, int bit) const
Error bit extraction.
void clear()
Clear all data.
void setPpmErrorHeader(int version, int format, int crate, int module, int slicesFadc, int slicesLut)
Store PPM error block header.
std::vector< uint32_t > m_errormap
Vector for intermediate error data.
void setPpmHeader(int version, int format, int seqno, int crate, int module, int slicesFadc, int slicesLut)
Store PPM header.
bool unpackUncompressedErrors()
Unpack uncompressed error data.
static const int s_mcmAbsentBit
bool bunchMismatch() const
bool channelDisabledA() const
static const uint32_t s_lutMask
static const int s_channels
static const int s_bcidFadcBit
bool channelDisabledC() const
static const int s_lutBit
static const uint32_t s_errorMask