73 const int channel = jetEle.
channel();
84 const unsigned int ey,
const unsigned int et)
160 if (slices == 0) slices = 1;
239 for (
int channel = 0; channel <
m_channels; ++channel) {
271 std::vector<uint32_t>::const_iterator pos;
294 for (
int channel = 0; channel <
m_channels; ++channel) {
303 hadParity, linkError);
335 const int id =
dataId(word);
340 const int channel = jetEle.
channel();
std::vector< size_t > vec
JEM jet element dataword class.
int timeslices() const
Return number of timeslices.
void fillJetElement(int slice, const JemJetElement &jetEle)
Store jet element data.
void clear()
Clear all data.
std::vector< uint32_t > m_energySubsums
Energy subsum data.
static const int s_dataIdBit
static const int s_jePaddingBits
static const uint32_t s_eyMask
int dataId(uint32_t word) const
static const int s_energyBits
bool unpack()
Unpack data.
static const uint32_t s_dataIdMask
unsigned int ey(int slice) const
Return energy subsum Ey.
void resize(std::vector< uint32_t > &vec, int channels)
void setEnergySubsums(int slice, unsigned int ex, unsigned int ey, unsigned int et)
Store energy subsum data.
bool unpackNeutral()
Unpack neutral data.
bool packNeutral()
Pack neutral data.
static const int s_energyPaddingBits
unsigned int ex(int slice) const
Return energy subsum Ex.
static const int s_glinkBitsPerSlice
static const uint32_t s_exMask
int m_channels
Number of jet element channels.
static const int s_exEyId
void setJemHeader(int version, int format, int slice, int crate, int module, int timeslices)
Store JEM header.
static const int s_wordLength
Data word length.
static const int s_sourceIdBit
std::vector< uint32_t > m_jeData
Jet element data.
int sourceId(uint32_t word) const
static const int s_bunchCrossingBits
int m_energyWords
Number of energy data words.
static const int s_jeWordId
static const int s_wordIdVal
JEM header word ID.
bool unpackUncompressed()
Unpack uncompressed data.
unsigned int et(int slice) const
Return energy subsum Et.
static const uint32_t s_energyWordId
static const uint32_t s_sourceIdMask
static const uint32_t s_etMask
int index(int slice, int channels) const
static const int s_pairsPerPin
bool packUncompressed()
Pack uncompressed data.
static const int s_jetElementBits
JemJetElement jetElement(int slice, int channel) const
Return jet element for given channel.
void packer(uint32_t datum, int nbits)
Pack given data into given number of bits.
uint32_t unpacker(int nbits)
Unpack given number of bits of data.
void setUnpackErrorCode(int code)
Set the unpacking error code.
bool unpackerSuccess() const
Return unpacker success flag.
void setHeader(int wordId, int version, int format, int seqno, int crate, int module, int slices2, int slices1)
Store header data.
bool unpackerNeutralParityError(int pin)
Unpack and test G-Link parity bit for given pin.
int dataWords() const
Return number of data words.
void clear()
Clear all data.
void packerNeutralParity(int pin)
Pack current G-Link parity bit for given pin.
void packerFlush()
Flush the current data word padded with zeros.
uint32_t unpackerNeutral(int pin, int nbits)
Unpack given number of bits of neutral data for given pin.
int bunchCrossing() const
Return the Bunch Crossing number (neutral format only)
void unpackerInit()
Initialise unpacker.
void packerNeutral(int pin, uint32_t datum, int nbits)
Pack given neutral data from given pin.
void setBunchCrossing(int bc)
Set the Bunch Crossing number (neutral format only)