5#ifndef TRIGT1CALOBYTESTREAM_PPMSUBBLOCKV1_H
6#define TRIGT1CALOBYTESTREAM_PPMSUBBLOCKV1_H
42 void fillPpmData(
int chan,
const std::vector<int>& lut,
43 const std::vector<int>& fadc,
44 const std::vector<int>& bcidLut,
45 const std::vector<int>& bcidFadc);
47 void ppmData(
int chan, std::vector<int>& lut,
48 std::vector<int>& fadc,
49 std::vector<int>& bcidLut,
50 std::vector<int>& bcidFadc);
118 const std::vector<uint32_t>&
compStats()
const;
153 int asic(
int chan)
const;
155 int pin(
int chan)
const;
int asic(int chan) const
Return the ASIC channel corresponding to a data channel.
void clear()
Clear all data.
bool packUncompressedData()
Pack uncompressed data.
int pin(int chan) const
Return the G-Link pin corresponding to a data channel.
void setFadcOffset(int offset)
static const uint32_t s_bcidFadcMask
static const int s_dataBits
bool bunchMismatch() const
static const int s_bcidFadcBit
static const uint32_t s_errorMask
static const int s_wordLen
int ppmPinError(int pin) const
Return the error word for a G-Link pin.
bool channelDisabledC() const
void fillPpmPinError(int pin, int errorWord)
Store an error word corresponding to a G-Link pin.
static const int s_channels
static const uint32_t s_fadcMask
static const int s_eventMismatchBit
bool packUncompressedErrors()
Pack uncompressed error data.
void setPpmErrorHeader(int version, int format, int crate, int module, int slicesFadc, int slicesLut)
Store PPM error block header.
const std::vector< uint32_t > & compStats() const
Return reference to compression stats.
static const int s_fadcBit
static bool errorBlock(uint32_t word)
Check if a header word is for an error block.
void setPedestal(int pedval)
std::vector< uint32_t > m_errormap
Vector for intermediate error data.
int ppmError(int chan) const
Return the error word for a data channel.
int fadcThreshold() const
bool errorBit(int pin, int bit) const
Error bit extraction.
static const int s_bunchCrossingBits
bool unpackUncompressedData()
Unpack uncompressed data.
static const uint32_t s_lutMask
void setCompStats(const std::vector< uint32_t > &stats)
Set compression stats.
std::vector< uint32_t > m_compStats
Vector for compression statistics.
static const int s_timeoutBit
void setRunNumber(int run)
bool channelDisabled(int chan) const
bool channelDisabledB() const
bool eventMismatch() const
static const int s_glinkPins
static const uint32_t s_wordIdVal
bool unpackUncompressedErrors()
Unpack uncompressed error data.
static const int s_errorMarker
static const int s_bunchMismatchBit
void setPpmHeader(int version, int format, int seqno, int crate, int module, int slicesFadc, int slicesLut)
Store PPM header.
bool glinkPinParity() const
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.
void setFadcThreshold(int threshold)
std::vector< uint32_t > m_datamap
Vector for intermediate data.
void ppmData(int chan, std::vector< int > &lut, std::vector< int > &fadc, std::vector< int > &bcidLut, std::vector< int > &bcidFadc)
Return unpacked data for given channel.
static const int s_channelDisabledBit
bool channelDisabledD() const
static const int s_lutBit
void fillPpmError(int chan, int errorWord)
Store an error word corresponding to a data channel.
void setFadcBaseline(int baseline)
static const int s_bcidLutBit
static const int s_fpgaCorruptBit
static const uint32_t s_bcidLutMask
bool channelDisabledA() const
void setLutOffset(int offset)
static const int s_errorBits
static const int s_asicFullBit
static const int s_asicChannels
bool packNeutral()
Pack neutral data.
static const int s_glinkPinParityBit
bool unpack()
Unpack data.
int channelsPerSubBlock()
static const int s_mcmAbsentBit