83 const int channel = jetEle.
channel();
97 const int sourceId = (jem == 0 || jem == 7 || jem == 8 || jem == 15)
112 const unsigned int ey,
const unsigned int et)
143 unsigned int hits = 0;
191 if (slices == 0) slices = 1;
271 for (
int channel = 0; channel <
m_channels; ++channel) {
309 std::vector<uint32_t>::const_iterator pos;
333 for (
int channel = 0; channel <
m_channels; ++channel) {
342 hadParity, linkError);
378 const int id =
dataId(word);
383 const int channel = jetEle.
channel();
std::vector< size_t > vec
JEM jet element dataword class.
std::vector< uint32_t > m_energySubsums
Energy subsum data.
static const int s_sumIndicator
static const int s_glinkBitsPerSlice
std::vector< uint32_t > m_jetHits
Jet hit counts.
int timeslices() const
Return number of timeslices.
bool packNeutral()
Pack neutral data.
static const int s_mainThreshId
static const int s_pairsPerPin
void clear()
Clear all data.
int index(int slice) const
void fillJetElement(int slice, const JemJetElement &jetEle)
Store jet element data.
static const uint32_t s_threshWordId
std::vector< uint32_t > m_jeData
Jet element data.
void setJemHeader(int version, int format, int slice, int crate, int module, int timeslices)
Store JEM header.
unsigned int et(int slice) const
Return energy subsum Et.
static const int s_jetIndicator
static const int s_mainFwdThreshId
static const int s_jetIndicatorBit
static const int s_jeWordId
unsigned int jetHits(int slice) const
Return jet hit counts.
int sourceId(uint32_t word) const
static const int s_sourceIdBit
void resize(std::vector< uint32_t > &vec, int channels=1)
static const uint32_t s_eyMask
static const int s_wordIdVal
JEM header word ID.
static const uint32_t s_sourceIdMask
bool unpackUncompressed()
Unpack uncompressed data.
static const uint32_t s_etMask
static const int s_jetElementBits
static const uint32_t s_exMask
static const int s_wordLength
Data word length.
bool packUncompressed()
Pack uncompressed data.
static const int s_hitPaddingBits
bool unpackNeutral()
Unpack neutral data.
JemJetElement jetElement(int slice, int channel) const
Return jet element for given channel.
static const uint32_t s_threshMask
static const int s_energyBits
static const int s_jePaddingBits
static const int s_jetHitsBits
static const int s_bunchCrossingBits
unsigned int ex(int slice) const
Return energy subsum Ex.
static const int s_dataIdBit
static const int s_subsumId
int m_channels
Number of jet element channels.
bool unpack()
Unpack data.
void setJetHits(int slice, unsigned int hits)
Store jet hit counts.
static const uint32_t s_dataIdMask
static const int s_sumIndicatorBit
void setEnergySubsums(int slice, unsigned int ex, unsigned int ey, unsigned int et)
Store energy subsum data.
int dataId(uint32_t word) const
static const int s_threshBit
unsigned int ey(int slice) const
Return energy subsum Ey.
void packer(uint32_t datum, int nbits)
Pack given data into given number of bits.
int parityBit(int init, uint32_t datum, int nbits) const
Return the parity bit for given data.
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)