|
ATLAS Offline Software
|
Go to the documentation of this file.
62 const int slice,
const int crate,
63 const int module,
const int timeslices)
71 const int em,
const int had,
72 const int emErr,
const int hadErr)
79 for (
int pinOffset = 0; pinOffset < 2; ++pinOffset)
284 for (
int i = 0;
i < 2; ++
i)
321 std::vector<uint32_t>::const_iterator
pos;
344 for (
int i = 0;
i < 2; ++
i)
397 const int id =
dataId(word);
406 const int pin = ix / 4;
407 const int pair = ix % 4;
void setBunchCrossing(int bc)
Set the Bunch Crossing number (neutral format only)
static const int s_bcnBits
void clear()
Clear all data.
bool packUncompressed()
Pack uncompressed data.
void packerNeutral(int pin, uint32_t datum, int nbits)
Pack given neutral data from given pin.
int hadData(int slice, int channel) const
Return Had data for given channel.
void unpackerInit()
Initialise unpacker.
static const int s_linkDownBBit
static const int s_ttDataBBit
static const int s_ttDataABit
static const int s_wordsPerPin
std::vector< size_t > vec
void setHeader(int wordId, int version, int format, int seqno, int crate, int module, int slices2, int slices1)
Store header data.
void packerFlush()
Flush the current data word padded with zeros.
void resize(std::vector< uint32_t > &vec, int channels)
Resize a data vector according to format.
int bunchCrossing() const
Return the Bunch Crossing number (neutral format only)
static const uint32_t s_pairPinMask
static const int s_pairBit
static const int s_glinkBitsPerSlice
static const int s_errBits
void packer(uint32_t datum, int nbits)
Pack given data into given number of bits.
int timeslices() const
Return number of timeslices.
int m_channels
Number of Trigger tower channels per module.
int data(int slice, int channel, int offset) const
Return data for given channel and pin offset.
bool unpackerNeutralParityError(int pin)
Unpack and test G-Link parity bit for given pin.
bool packNeutral()
Pack neutral data.
int error(int slice, int channel, int offset) const
Return error for given channel and pin offset.
bool unpack()
Unpack data.
uint32_t unpacker(int nbits)
Unpack given number of bits of data.
void fillTowerData(int slice, int channel, int em, int had, int emErr, int hadErr)
Store trigger tower data.
static const int s_wordIdVal
CPM header word ID.
static const int s_parityABit
void setCpmHeader(int version, int format, int slice, int crate, int module, int timeslices)
Store CPM header.
int hadError(int slice, int channel) const
Return Had error for given channel.
static const int s_fpgaBit
std::vector< int > m_chanPresent
Channel present flags vector.
int index(int slice) const
Return data index appropriate to format.
int emData(int slice, int channel) const
Return Em data for given channel.
bool unpackerSuccess() const
Return unpacker success flag.
static const int s_parityBBit
int dataWords() const
Return number of data words.
static const int s_pairsPerPin
void clear()
Clear all data.
static const int s_dataIdBit
static const uint32_t s_ttDataMask
static const int s_ttWordId
static const int s_ttBits
static const int s_linkDownABit
static const uint32_t s_dataIdMask
std::vector< uint32_t > m_ttData
Trigger tower data.
static const int s_bcnPin
void setUnpackErrorCode(int code)
Set the unpacking error code.
bool unpackUncompressed()
Unpack uncompressed data.
uint32_t unpackerNeutral(int pin, int nbits)
Unpack given number of bits of neutral data for given pin.
static const int s_glinkPins
int dataId(uint32_t word) const
Return data WordID.
static const int s_wordLength
Data word length.
int emError(int slice, int channel) const
Return Em error for given channel.
bool unpackNeutral()
Unpack neutral data.
void packerNeutralParity(int pin)
Pack current G-Link parity bit for given pin.