|
ATLAS Offline Software
|
Sub-Block class for CPM data.
More...
#include <CpmSubBlock.h>
|
enum | SubBlockWordType { HEADER,
DATA,
STATUS
} |
|
enum | DataFormats { NEUTRAL = 0,
UNCOMPRESSED = 1,
COMPRESSED = 2,
SUPERCOMPRESSED = 3
} |
|
enum | DataErrorType {
ERROR_NONE,
ERROR_DUPLICATE_ROB,
ERROR_ROD_ID,
ERROR_ROD_NSTATUS,
ERROR_USER_HEADER,
ERROR_MISSING_HEADER,
ERROR_MISSING_SUBBLOCK,
ERROR_CRATE_NUMBER,
ERROR_MODULE_NUMBER,
ERROR_SLICES,
ERROR_DUPLICATE_DATA,
ERROR_ROI_TYPE,
ERROR_MAX
} |
|
enum | UnpackErrorType {
UNPACK_NONE = ERROR_NONE,
UNPACK_VERSION = ERROR_MAX,
UNPACK_FORMAT,
UNPACK_COMPRESSION_VERSION,
UNPACK_COMPRESSION_SLICES,
UNPACK_DATA_TRUNCATED,
UNPACK_EXCESS_DATA,
UNPACK_SOURCE_ID,
UNPACK_EXCESS_TOBS,
UNPACK_DATA_ID
} |
|
|
| CpmSubBlock () |
|
| ~CpmSubBlock () |
|
void | clear () |
| Clear all data. More...
|
|
void | setCpmHeader (int version, int format, int slice, int crate, int module, int timeslices) |
| Store CPM header. More...
|
|
void | fillTowerData (int slice, int channel, int em, int had, int emErr, int hadErr) |
| Store trigger tower data. More...
|
|
void | setHits (int slice, unsigned int hit0, unsigned int hit1) |
| Store hit counts. More...
|
|
int | emData (int slice, int channel) const |
| Return Em data for given channel. More...
|
|
int | hadData (int slice, int channel) const |
| Return Had data for given channel. More...
|
|
int | emError (int slice, int channel) const |
| Return Em error for given channel. More...
|
|
int | hadError (int slice, int channel) const |
| Return Had error for given channel. More...
|
|
unsigned int | hits0 (int slice) const |
| Return e/gamma hit counts. More...
|
|
unsigned int | hits1 (int slice) const |
| Return tau hit counts. More...
|
|
int | timeslices () const |
| Return number of timeslices. More...
|
|
bool | anyTowerData (int channel) const |
| Return true if there is tower data for given channel. More...
|
|
bool | pack () |
| Pack data. More...
|
|
bool | unpack () |
| Unpack data. More...
|
|
int | dataWords () const |
| Return number of data words. More...
|
|
void | setHeader (int wordId, int version, int format, int seqno, int crate, int module, int slices2, int slices1) |
| Store header data. More...
|
|
int | wordId () const |
|
int | version () const |
|
int | format () const |
|
int | seqno () const |
|
int | slice () const |
|
int | crate () const |
|
int | module () const |
|
int | slices2 () const |
|
int | slices1 () const |
|
uint32_t | failingBCN () const |
|
bool | glinkTimeout () const |
|
bool | glinkDown () const |
|
bool | upstreamError () const |
|
bool | daqOverflow () const |
|
bool | bcnMismatch () const |
|
bool | glinkProtocol () const |
|
bool | glinkParity () const |
|
uint32_t | subStatus () const |
| Return Sub-status word. More...
|
|
void | setBunchCrossing (int bc) |
| Set the Bunch Crossing number (neutral format only) More...
|
|
int | bunchCrossing () const |
| Return the Bunch Crossing number (neutral format only) More...
|
|
OFFLINE_FRAGMENTS_NAMESPACE::PointerType | read (const OFFLINE_FRAGMENTS_NAMESPACE::PointerType beg, const OFFLINE_FRAGMENTS_NAMESPACE::PointerType end) |
| Input complete packed sub-block from ROD array. More...
|
|
void | write (FullEventAssembler< L1CaloSrcIdMap >::RODDATA *theROD) const |
| Output complete packed sub-block to ROD vector. More...
|
|
void | setStatus (uint32_t failingBCN, bool glinkTimeout, bool glinkDown, bool upstreamError, bool daqOverflow, bool bcnMismatch, bool glinkProtocol, bool glinkParity) |
| Store error status trailer. More...
|
|
void | setDaqOverflow (int bit=1) |
| Set DAQ FIFO Overflow bit in Sub-status word. More...
|
|
void | setGlinkParity (int bit=1) |
| Set G-Link Parity bit in Sub-status word. More...
|
|
void | setUnpackErrorCode (int code) |
| Set the unpacking error code. More...
|
|
int | unpackErrorCode () const |
| Return the unpacking error code. More...
|
|
std::string | unpackErrorMsg () const |
| Return the unpacking error message for printing. More...
|
|
int | minBits (uint32_t datum) const |
| Return the minimum number of bits needed for given data. More...
|
|
int | parityBit (int init, uint32_t datum, int nbits) const |
| Return the parity bit for given data. More...
|
|
void | packer (uint32_t datum, int nbits) |
| Pack given data into given number of bits. More...
|
|
void | packerFlush () |
| Flush the current data word padded with zeros. More...
|
|
void | setStreamed () |
| Set continuous bit streaming for compressed formats. More...
|
|
uint32_t | unpacker (int nbits) |
| Unpack given number of bits of data. More...
|
|
uint32_t | unpacker (int nbits, int align) |
|
void | unpackerInit () |
| Initialise unpacker. More...
|
|
bool | unpackerSuccess () const |
| Return unpacker success flag. More...
|
|
void | packerNeutral (int pin, uint32_t datum, int nbits) |
| Pack given neutral data from given pin. More...
|
|
void | packerNeutralParity (int pin) |
| Pack current G-Link parity bit for given pin. More...
|
|
uint32_t | unpackerNeutral (int pin, int nbits) |
| Unpack given number of bits of neutral data for given pin. More...
|
|
bool | unpackerNeutralParityError (int pin) |
| Unpack and test G-Link parity bit for given pin. More...
|
|
int | currentPinBit (int pin) const |
| Return current pin bit for given pin. More...
|
|
|
static int | wordId (uint32_t word) |
| Return wordID field from given header word. More...
|
|
static int | version (uint32_t word) |
| Return version number from given header word. More...
|
|
static int | format (uint32_t word) |
| Return data format from given header word. More...
|
|
static int | seqno (uint32_t word) |
| Return seqno field from given header word. More...
|
|
static int | module (uint32_t word) |
| Return module field from given header word. More...
|
|
static SubBlockWordType | wordType (uint32_t word) |
| Word identification. More...
|
|
Sub-Block class for CPM data.
Based on "ATLAS Level-1 Calorimeter Trigger Read-out Driver" Version 1.06d
- Author
- Peter Faulkner
Definition at line 23 of file CpmSubBlock.h.
◆ DataErrorType
Enumerator |
---|
ERROR_NONE | |
ERROR_DUPLICATE_ROB | |
ERROR_ROD_ID | |
ERROR_ROD_NSTATUS | |
ERROR_USER_HEADER | |
ERROR_MISSING_HEADER | |
ERROR_MISSING_SUBBLOCK | |
ERROR_CRATE_NUMBER | |
ERROR_MODULE_NUMBER | |
ERROR_SLICES | |
ERROR_DUPLICATE_DATA | |
ERROR_ROI_TYPE | |
ERROR_MAX | |
Definition at line 31 of file L1CaloSubBlock.h.
◆ DataFormats
Enumerator |
---|
NEUTRAL | |
UNCOMPRESSED | |
COMPRESSED | |
SUPERCOMPRESSED | |
Definition at line 28 of file L1CaloSubBlock.h.
◆ SubBlockWordType
◆ UnpackErrorType
Enumerator |
---|
UNPACK_NONE | |
UNPACK_VERSION | |
UNPACK_FORMAT | |
UNPACK_COMPRESSION_VERSION | |
UNPACK_COMPRESSION_SLICES | |
UNPACK_DATA_TRUNCATED | |
UNPACK_EXCESS_DATA | |
UNPACK_SOURCE_ID | |
UNPACK_EXCESS_TOBS | |
UNPACK_DATA_ID | |
Definition at line 38 of file L1CaloSubBlock.h.
◆ CpmSubBlock()
LVL1BS::CpmSubBlock::CpmSubBlock |
( |
| ) |
|
◆ ~CpmSubBlock()
LVL1BS::CpmSubBlock::~CpmSubBlock |
( |
| ) |
|
◆ anyTowerData()
bool LVL1BS::CpmSubBlock::anyTowerData |
( |
int |
channel | ) |
const |
|
inline |
Return true if there is tower data for given channel.
Definition at line 134 of file CpmSubBlock.h.
◆ bcnMismatch()
bool LVL1BS::L1CaloSubBlock::bcnMismatch |
( |
| ) |
const |
|
inlineinherited |
◆ bunchCrossing()
int LVL1BS::L1CaloSubBlock::bunchCrossing |
( |
| ) |
const |
|
inlineinherited |
Return the Bunch Crossing number (neutral format only)
Definition at line 333 of file L1CaloSubBlock.h.
◆ clear()
void LVL1BS::CpmSubBlock::clear |
( |
| ) |
|
◆ crate()
int LVL1BS::L1CaloSubBlock::crate |
( |
| ) |
const |
|
inlineinherited |
◆ currentPinBit()
int LVL1BS::L1CaloSubBlock::currentPinBit |
( |
int |
pin | ) |
const |
|
inlineinherited |
◆ daqOverflow()
bool LVL1BS::L1CaloSubBlock::daqOverflow |
( |
| ) |
const |
|
inlineinherited |
◆ data()
int LVL1BS::CpmSubBlock::data |
( |
int |
slice, |
|
|
int |
channel, |
|
|
int |
offset |
|
) |
| const |
|
private |
Return data for given channel and pin offset.
Definition at line 235 of file CpmSubBlock.cxx.
◆ dataId()
int LVL1BS::CpmSubBlock::dataId |
( |
uint32_t |
word | ) |
const |
|
inlineprivate |
◆ dataWords()
int LVL1BS::L1CaloSubBlock::dataWords |
( |
| ) |
const |
|
inlineinherited |
◆ emData()
int LVL1BS::CpmSubBlock::emData |
( |
int |
slice, |
|
|
int |
channel |
|
) |
| const |
◆ emError()
int LVL1BS::CpmSubBlock::emError |
( |
int |
slice, |
|
|
int |
channel |
|
) |
| const |
◆ error()
int LVL1BS::CpmSubBlock::error |
( |
int |
slice, |
|
|
int |
channel, |
|
|
int |
offset |
|
) |
| const |
|
private |
Return error for given channel and pin offset.
Definition at line 255 of file CpmSubBlock.cxx.
◆ failingBCN()
uint32_t LVL1BS::L1CaloSubBlock::failingBCN |
( |
| ) |
const |
|
inlineinherited |
◆ fillTowerData()
void LVL1BS::CpmSubBlock::fillTowerData |
( |
int |
slice, |
|
|
int |
channel, |
|
|
int |
em, |
|
|
int |
had, |
|
|
int |
emErr, |
|
|
int |
hadErr |
|
) |
| |
Store trigger tower data.
Definition at line 74 of file CpmSubBlock.cxx.
82 for (
int pinOffset = 0; pinOffset < 2; ++pinOffset) {
◆ format() [1/2]
int LVL1BS::L1CaloSubBlock::format |
( |
| ) |
const |
|
inlineinherited |
◆ format() [2/2]
int LVL1BS::L1CaloSubBlock::format |
( |
uint32_t |
word | ) |
|
|
staticinherited |
◆ glinkDown()
bool LVL1BS::L1CaloSubBlock::glinkDown |
( |
| ) |
const |
|
inlineinherited |
◆ glinkParity()
bool LVL1BS::L1CaloSubBlock::glinkParity |
( |
| ) |
const |
|
inlineinherited |
◆ glinkProtocol()
bool LVL1BS::L1CaloSubBlock::glinkProtocol |
( |
| ) |
const |
|
inlineinherited |
◆ glinkTimeout()
bool LVL1BS::L1CaloSubBlock::glinkTimeout |
( |
| ) |
const |
|
inlineinherited |
◆ hadData()
int LVL1BS::CpmSubBlock::hadData |
( |
int |
slice, |
|
|
int |
channel |
|
) |
| const |
◆ hadError()
int LVL1BS::CpmSubBlock::hadError |
( |
int |
slice, |
|
|
int |
channel |
|
) |
| const |
◆ hits()
unsigned int LVL1BS::CpmSubBlock::hits |
( |
int |
slice, |
|
|
int |
offset |
|
) |
| const |
|
private |
Return hit counts with given offset.
Definition at line 279 of file CpmSubBlock.cxx.
281 unsigned int hit = 0;
◆ hits0()
unsigned int LVL1BS::CpmSubBlock::hits0 |
( |
int |
slice | ) |
const |
◆ hits1()
unsigned int LVL1BS::CpmSubBlock::hits1 |
( |
int |
slice | ) |
const |
◆ index()
int LVL1BS::CpmSubBlock::index |
( |
int |
slice | ) |
const |
|
private |
◆ minBits()
int LVL1BS::L1CaloSubBlock::minBits |
( |
uint32_t |
datum | ) |
const |
|
inherited |
Return the minimum number of bits needed for given data.
Definition at line 274 of file L1CaloSubBlock.cxx.
276 const int maxBits = 32;
278 for (
int i = 0;
i < maxBits; ++
i)
◆ module() [1/2]
int LVL1BS::L1CaloSubBlock::module |
( |
| ) |
const |
|
inlineinherited |
◆ module() [2/2]
int LVL1BS::L1CaloSubBlock::module |
( |
uint32_t |
word | ) |
|
|
staticinherited |
◆ pack()
bool LVL1BS::CpmSubBlock::pack |
( |
| ) |
|
◆ packer()
void LVL1BS::L1CaloSubBlock::packer |
( |
uint32_t |
datum, |
|
|
int |
nbits |
|
) |
| |
|
inherited |
◆ packerFlush()
void LVL1BS::L1CaloSubBlock::packerFlush |
( |
| ) |
|
|
inherited |
◆ packerNeutral()
void LVL1BS::L1CaloSubBlock::packerNeutral |
( |
int |
pin, |
|
|
uint32_t |
datum, |
|
|
int |
nbits |
|
) |
| |
|
inherited |
Pack given neutral data from given pin.
Definition at line 413 of file L1CaloSubBlock.cxx.
416 if (pin >= 0 && pin < s_maxPins && nbits > 0)
423 for (
int bit = 0; bit < nbits; ++bit)
◆ packerNeutralParity()
void LVL1BS::L1CaloSubBlock::packerNeutralParity |
( |
int |
pin | ) |
|
|
inherited |
◆ packNeutral()
bool LVL1BS::CpmSubBlock::packNeutral |
( |
| ) |
|
|
private |
◆ packUncompressed()
bool LVL1BS::CpmSubBlock::packUncompressed |
( |
| ) |
|
|
private |
Pack uncompressed data.
Definition at line 348 of file CpmSubBlock.cxx.
351 std::vector<uint32_t>::const_iterator
pos;
◆ parityBit()
int LVL1BS::L1CaloSubBlock::parityBit |
( |
int |
init, |
|
|
uint32_t |
datum, |
|
|
int |
nbits |
|
) |
| const |
|
inherited |
Return the parity bit for given data.
Definition at line 291 of file L1CaloSubBlock.cxx.
296 for (
int bit = 0; bit < nbits; ++bit) parity ^= (datum >> bit) & 0x1;
◆ read()
Input complete packed sub-block from ROD array.
Definition at line 118 of file L1CaloSubBlock.cxx.
126 for (;
pos != pose; ++
pos)
144 const int id =
wordId(word);
151 else if (
wordId() == 0xc) badId = (((
id & 0xc) != 0x4) &&
152 ((
id & 0xc) != 0x8));
154 else badId = ((
id & 0xc) != 0);
◆ resize()
void LVL1BS::CpmSubBlock::resize |
( |
std::vector< uint32_t > & |
vec, |
|
|
int |
channels |
|
) |
| |
|
private |
◆ seqno() [1/2]
int LVL1BS::L1CaloSubBlock::seqno |
( |
| ) |
const |
|
inlineinherited |
◆ seqno() [2/2]
int LVL1BS::L1CaloSubBlock::seqno |
( |
uint32_t |
word | ) |
|
|
staticinherited |
◆ setBunchCrossing()
void LVL1BS::L1CaloSubBlock::setBunchCrossing |
( |
int |
bc | ) |
|
|
inlineinherited |
Set the Bunch Crossing number (neutral format only)
Definition at line 328 of file L1CaloSubBlock.h.
◆ setCpmHeader()
void LVL1BS::CpmSubBlock::setCpmHeader |
( |
int |
version, |
|
|
int |
format, |
|
|
int |
slice, |
|
|
int |
crate, |
|
|
int |
module, |
|
|
int |
timeslices |
|
) |
| |
◆ setDaqOverflow()
void LVL1BS::L1CaloSubBlock::setDaqOverflow |
( |
int |
bit = 1 | ) |
|
|
inherited |
Set DAQ FIFO Overflow bit in Sub-status word.
Definition at line 206 of file L1CaloSubBlock.cxx.
211 else setStatus(0,
false,
false,
false,
true,
false,
false,
false);
◆ setGlinkParity()
void LVL1BS::L1CaloSubBlock::setGlinkParity |
( |
int |
bit = 1 | ) |
|
|
inherited |
◆ setHeader()
void LVL1BS::L1CaloSubBlock::setHeader |
( |
int |
wordId, |
|
|
int |
version, |
|
|
int |
format, |
|
|
int |
seqno, |
|
|
int |
crate, |
|
|
int |
module, |
|
|
int |
slices2, |
|
|
int |
slices1 |
|
) |
| |
|
inherited |
◆ setHits()
void LVL1BS::CpmSubBlock::setHits |
( |
int |
slice, |
|
|
unsigned int |
hit0, |
|
|
unsigned int |
hit1 |
|
) |
| |
Store hit counts.
Definition at line 112 of file CpmSubBlock.cxx.
118 unsigned int hits = hit0;
119 for (
int indicator = 0; indicator < 2; ++indicator) {
◆ setStatus()
void LVL1BS::L1CaloSubBlock::setStatus |
( |
uint32_t |
failingBCN, |
|
|
bool |
glinkTimeout, |
|
|
bool |
glinkDown, |
|
|
bool |
upstreamError, |
|
|
bool |
daqOverflow, |
|
|
bool |
bcnMismatch, |
|
|
bool |
glinkProtocol, |
|
|
bool |
glinkParity |
|
) |
| |
|
inherited |
◆ setStreamed()
void LVL1BS::L1CaloSubBlock::setStreamed |
( |
| ) |
|
|
inlineinherited |
Set continuous bit streaming for compressed formats.
Definition at line 348 of file L1CaloSubBlock.h.
◆ setUnpackErrorCode()
void LVL1BS::L1CaloSubBlock::setUnpackErrorCode |
( |
int |
code | ) |
|
|
inlineinherited |
◆ slice()
int LVL1BS::L1CaloSubBlock::slice |
( |
| ) |
const |
|
inlineinherited |
◆ slices1()
int LVL1BS::L1CaloSubBlock::slices1 |
( |
| ) |
const |
|
inlineinherited |
◆ slices2()
int LVL1BS::L1CaloSubBlock::slices2 |
( |
| ) |
const |
|
inlineinherited |
◆ subStatus()
uint32_t LVL1BS::L1CaloSubBlock::subStatus |
( |
| ) |
const |
|
inlineinherited |
◆ timeslices()
int LVL1BS::CpmSubBlock::timeslices |
( |
| ) |
const |
◆ unpack()
bool LVL1BS::CpmSubBlock::unpack |
( |
| ) |
|
◆ unpacker() [1/2]
uint32_t LVL1BS::L1CaloSubBlock::unpacker |
( |
int |
nbits | ) |
|
|
inherited |
Unpack given number of bits of data.
Definition at line 345 of file L1CaloSubBlock.cxx.
355 int nbitsDone = nbits;
375 const int bitsLeft = nbits - nbitsDone;
◆ unpacker() [2/2]
uint32_t LVL1BS::L1CaloSubBlock::unpacker |
( |
int |
nbits, |
|
|
int |
align |
|
) |
| |
|
inherited |
◆ unpackerInit()
void LVL1BS::L1CaloSubBlock::unpackerInit |
( |
| ) |
|
|
inherited |
◆ unpackerNeutral()
uint32_t LVL1BS::L1CaloSubBlock::unpackerNeutral |
( |
int |
pin, |
|
|
int |
nbits |
|
) |
| |
|
inherited |
Unpack given number of bits of neutral data for given pin.
Definition at line 445 of file L1CaloSubBlock.cxx.
448 if (pin >= 0 && pin < s_maxPins && nbits > 0
451 for (
int bit = 0; bit < nbits; ++bit)
◆ unpackerNeutralParityError()
bool LVL1BS::L1CaloSubBlock::unpackerNeutralParityError |
( |
int |
pin | ) |
|
|
inherited |
◆ unpackErrorCode()
int LVL1BS::L1CaloSubBlock::unpackErrorCode |
( |
| ) |
const |
|
inlineinherited |
◆ unpackErrorMsg()
std::string LVL1BS::L1CaloSubBlock::unpackErrorMsg |
( |
| ) |
const |
|
inherited |
Return the unpacking error message for printing.
Definition at line 228 of file L1CaloSubBlock.cxx.
237 msg =
"Unsupported Data Version";
240 msg =
"Unsupported Data Format";
243 msg =
"Unsupported Compression Version";
246 msg =
"Unsupported Number of Slices for Compression Version";
249 msg =
"Premature End of Sub-block Data";
252 msg =
"Excess Data in Sub-block";
255 msg =
"Invalid Source ID in Sub-block Data";
258 msg =
"Excess TOBs in Sub-block Data";
261 msg =
"Invalid word ID in Sub-block Data";
264 msg =
"Unknown Error Code";
◆ unpackerSuccess()
bool LVL1BS::L1CaloSubBlock::unpackerSuccess |
( |
| ) |
const |
|
inlineinherited |
◆ unpackNeutral()
bool LVL1BS::CpmSubBlock::unpackNeutral |
( |
| ) |
|
|
private |
Unpack neutral data.
Definition at line 366 of file CpmSubBlock.cxx.
372 unsigned int hit0 = 0;
373 unsigned int hit1 = 0;
378 for (
int i = 0;
i < 2; ++
i) {
◆ unpackUncompressed()
bool LVL1BS::CpmSubBlock::unpackUncompressed |
( |
| ) |
|
|
private |
Unpack uncompressed data.
Definition at line 420 of file CpmSubBlock.cxx.
427 const int id =
dataId(word);
434 const int pin = ix/4;
435 const int pair = ix%4;
◆ upstreamError()
bool LVL1BS::L1CaloSubBlock::upstreamError |
( |
| ) |
const |
|
inlineinherited |
◆ version() [1/2]
int LVL1BS::L1CaloSubBlock::version |
( |
| ) |
const |
|
inlineinherited |
◆ version() [2/2]
int LVL1BS::L1CaloSubBlock::version |
( |
uint32_t |
word | ) |
|
|
staticinherited |
◆ wordId() [1/2]
int LVL1BS::L1CaloSubBlock::wordId |
( |
| ) |
const |
|
inlineinherited |
◆ wordId() [2/2]
int LVL1BS::L1CaloSubBlock::wordId |
( |
uint32_t |
word | ) |
|
|
staticinherited |
◆ wordType()
◆ write()
Output complete packed sub-block to ROD vector.
Definition at line 165 of file L1CaloSubBlock.cxx.
169 std::vector<uint32_t>::const_iterator
pos;
172 theROD->push_back(*
pos);
◆ m_bitword
uint32_t LVL1BS::L1CaloSubBlock::m_bitword |
|
privateinherited |
◆ m_bunchCrossing
int LVL1BS::L1CaloSubBlock::m_bunchCrossing |
|
privateinherited |
◆ m_channels
int LVL1BS::CpmSubBlock::m_channels |
|
private |
Number of Trigger tower channels per module.
Definition at line 125 of file CpmSubBlock.h.
◆ m_chanPresent
std::vector<int> LVL1BS::CpmSubBlock::m_chanPresent |
|
private |
◆ m_currentBit
int LVL1BS::L1CaloSubBlock::m_currentBit |
|
privateinherited |
◆ m_currentPinBit
std::vector<int> LVL1BS::L1CaloSubBlock::m_currentPinBit |
|
privateinherited |
◆ m_data
std::vector<uint32_t> LVL1BS::L1CaloSubBlock::m_data |
|
privateinherited |
◆ m_dataPos
std::vector<uint32_t>::const_iterator LVL1BS::L1CaloSubBlock::m_dataPos |
|
privateinherited |
◆ m_dataPosEnd
std::vector<uint32_t>::const_iterator LVL1BS::L1CaloSubBlock::m_dataPosEnd |
|
privateinherited |
◆ m_dataWords
int LVL1BS::L1CaloSubBlock::m_dataWords |
|
privateinherited |
◆ m_header
uint32_t LVL1BS::L1CaloSubBlock::m_header |
|
privateinherited |
◆ m_hitData
std::vector<uint32_t> LVL1BS::CpmSubBlock::m_hitData |
|
private |
◆ m_maxBits
int LVL1BS::L1CaloSubBlock::m_maxBits |
|
privateinherited |
◆ m_maxMask
uint32_t LVL1BS::L1CaloSubBlock::m_maxMask |
|
privateinherited |
◆ m_oddParity
std::vector<int> LVL1BS::L1CaloSubBlock::m_oddParity |
|
privateinherited |
◆ m_trailer
uint32_t LVL1BS::L1CaloSubBlock::m_trailer |
|
privateinherited |
◆ m_ttData
std::vector<uint32_t> LVL1BS::CpmSubBlock::m_ttData |
|
private |
◆ m_unpackerFlag
bool LVL1BS::L1CaloSubBlock::m_unpackerFlag |
|
privateinherited |
◆ m_unpackError
int LVL1BS::L1CaloSubBlock::m_unpackError |
|
privateinherited |
◆ m_unpackingMasks
std::vector<uint32_t> LVL1BS::L1CaloSubBlock::m_unpackingMasks |
|
privateinherited |
◆ s_bcnMismatchBit
const int LVL1BS::L1CaloSubBlock::s_bcnMismatchBit = 2 |
|
staticprivateinherited |
◆ s_crateBit
const int LVL1BS::L1CaloSubBlock::s_crateBit = 12 |
|
staticprivateinherited |
◆ s_crateMask
const uint32_t LVL1BS::L1CaloSubBlock::s_crateMask = 0xf |
|
staticprivateinherited |
◆ s_daqOverflowBit
const int LVL1BS::L1CaloSubBlock::s_daqOverflowBit = 3 |
|
staticprivateinherited |
◆ s_dataIdBit
const int LVL1BS::CpmSubBlock::s_dataIdBit = 30 |
|
staticprivate |
◆ s_dataIdMask
const uint32_t LVL1BS::CpmSubBlock::s_dataIdMask = 0x3 |
|
staticprivate |
◆ s_errBits
const int LVL1BS::CpmSubBlock::s_errBits = 2 |
|
staticprivate |
◆ s_failingBcnBit
const int LVL1BS::L1CaloSubBlock::s_failingBcnBit = 22 |
|
staticprivateinherited |
◆ s_failingBcnMask
const uint32_t LVL1BS::L1CaloSubBlock::s_failingBcnMask = 0x3f |
|
staticprivateinherited |
◆ s_formatBit
const int LVL1BS::L1CaloSubBlock::s_formatBit = 22 |
|
staticprivateinherited |
◆ s_formatMask
const uint32_t LVL1BS::L1CaloSubBlock::s_formatMask = 0x7 |
|
staticprivateinherited |
◆ s_fpgaBit
const int LVL1BS::CpmSubBlock::s_fpgaBit = 23 |
|
staticprivate |
◆ s_glinkBitsPerSlice
const int LVL1BS::CpmSubBlock::s_glinkBitsPerSlice = 84 |
|
staticprivate |
◆ s_glinkDavSet
const uint32_t LVL1BS::L1CaloSubBlock::s_glinkDavSet = 0x400000 |
|
staticprivateinherited |
◆ s_glinkDownBit
const int LVL1BS::L1CaloSubBlock::s_glinkDownBit = 6 |
|
staticprivateinherited |
◆ s_glinkParityBit
const int LVL1BS::L1CaloSubBlock::s_glinkParityBit = 0 |
|
staticprivateinherited |
◆ s_glinkPins
const int LVL1BS::CpmSubBlock::s_glinkPins = 20 |
|
staticprivate |
◆ s_glinkProtocolBit
const int LVL1BS::L1CaloSubBlock::s_glinkProtocolBit = 1 |
|
staticprivateinherited |
◆ s_glinkTimeoutBit
const int LVL1BS::L1CaloSubBlock::s_glinkTimeoutBit = 7 |
|
staticprivateinherited |
◆ s_headerBit
const int LVL1BS::L1CaloSubBlock::s_headerBit = 30 |
|
staticprivateinherited |
◆ s_headerMask
const uint32_t LVL1BS::L1CaloSubBlock::s_headerMask = 0x3 |
|
staticprivateinherited |
◆ s_headerVal
const uint32_t LVL1BS::L1CaloSubBlock::s_headerVal = 0x3 |
|
staticprivateinherited |
◆ s_hitBits
const int LVL1BS::CpmSubBlock::s_hitBits = 3 |
|
staticprivate |
◆ s_hitWords
const int LVL1BS::CpmSubBlock::s_hitWords = 8 |
|
staticprivate |
◆ s_indicatorBit
const int LVL1BS::CpmSubBlock::s_indicatorBit = 24 |
|
staticprivate |
◆ s_linkDownABit
const int LVL1BS::CpmSubBlock::s_linkDownABit = 19 |
|
staticprivate |
◆ s_linkDownBBit
const int LVL1BS::CpmSubBlock::s_linkDownBBit = 20 |
|
staticprivate |
◆ s_maxPins
const int LVL1BS::L1CaloSubBlock::s_maxPins = 20 |
|
staticprivateinherited |
◆ s_maxStreamedBits
const int LVL1BS::L1CaloSubBlock::s_maxStreamedBits = 31 |
|
staticprivateinherited |
◆ s_maxStreamedMask
const uint32_t LVL1BS::L1CaloSubBlock::s_maxStreamedMask = 0x7fffffff |
|
staticprivateinherited |
◆ s_maxWordBits
const int LVL1BS::L1CaloSubBlock::s_maxWordBits = 32 |
|
staticprivateinherited |
◆ s_maxWordMask
const uint32_t LVL1BS::L1CaloSubBlock::s_maxWordMask = 0xffffffff |
|
staticprivateinherited |
◆ s_moduleBit
const int LVL1BS::L1CaloSubBlock::s_moduleBit = 8 |
|
staticprivateinherited |
◆ s_moduleMask
const uint32_t LVL1BS::L1CaloSubBlock::s_moduleMask = 0xf |
|
staticprivateinherited |
◆ s_pairBit
const int LVL1BS::CpmSubBlock::s_pairBit = 21 |
|
staticprivate |
◆ s_pairPinMask
const uint32_t LVL1BS::CpmSubBlock::s_pairPinMask = 0x7f |
|
staticprivate |
◆ s_pairsPerPin
const int LVL1BS::CpmSubBlock::s_pairsPerPin = 4 |
|
staticprivate |
◆ s_parityABit
const int LVL1BS::CpmSubBlock::s_parityABit = 8 |
|
staticprivate |
◆ s_parityBBit
const int LVL1BS::CpmSubBlock::s_parityBBit = 17 |
|
staticprivate |
◆ s_ppmCrates
const int LVL1BS::L1CaloSubBlock::s_ppmCrates = 8 |
|
staticprivateinherited |
◆ s_seqnoBit
const int LVL1BS::L1CaloSubBlock::s_seqnoBit = 16 |
|
staticprivateinherited |
◆ s_seqnoMask
const uint32_t LVL1BS::L1CaloSubBlock::s_seqnoMask = 0x3f |
|
staticprivateinherited |
◆ s_slices1Bit
const int LVL1BS::L1CaloSubBlock::s_slices1Bit = 0 |
|
staticprivateinherited |
◆ s_slices1Mask
const uint32_t LVL1BS::L1CaloSubBlock::s_slices1Mask = 0x7 |
|
staticprivateinherited |
◆ s_slices2Bit
const int LVL1BS::L1CaloSubBlock::s_slices2Bit = 3 |
|
staticprivateinherited |
◆ s_slices2Mask
const uint32_t LVL1BS::L1CaloSubBlock::s_slices2Mask = 0x1f |
|
staticprivateinherited |
◆ s_statusBit
const int LVL1BS::L1CaloSubBlock::s_statusBit = 28 |
|
staticprivateinherited |
◆ s_statusMask
const uint32_t LVL1BS::L1CaloSubBlock::s_statusMask = 0x1 |
|
staticprivateinherited |
◆ s_statusVal
const uint32_t LVL1BS::L1CaloSubBlock::s_statusVal = 0x1 |
|
staticprivateinherited |
◆ s_threshMask
const uint32_t LVL1BS::CpmSubBlock::s_threshMask = 0xffffff |
|
staticprivate |
◆ s_threshWordId
const uint32_t LVL1BS::CpmSubBlock::s_threshWordId = 0x2 |
|
staticprivate |
◆ s_ttBits
const int LVL1BS::CpmSubBlock::s_ttBits = 8 |
|
staticprivate |
◆ s_ttDataABit
const int LVL1BS::CpmSubBlock::s_ttDataABit = 0 |
|
staticprivate |
◆ s_ttDataBBit
const int LVL1BS::CpmSubBlock::s_ttDataBBit = 9 |
|
staticprivate |
◆ s_ttDataMask
const uint32_t LVL1BS::CpmSubBlock::s_ttDataMask = 0xff |
|
staticprivate |
◆ s_ttWordId
const int LVL1BS::CpmSubBlock::s_ttWordId = 0x1 |
|
staticprivate |
◆ s_upstreamErrorBit
const int LVL1BS::L1CaloSubBlock::s_upstreamErrorBit = 4 |
|
staticprivateinherited |
◆ s_versionBit
const int LVL1BS::L1CaloSubBlock::s_versionBit = 25 |
|
staticprivateinherited |
◆ s_versionMask
const uint32_t LVL1BS::L1CaloSubBlock::s_versionMask = 0x7 |
|
staticprivateinherited |
◆ s_wordIdBit
const int LVL1BS::L1CaloSubBlock::s_wordIdBit = 28 |
|
staticprivateinherited |
◆ s_wordIdMask
const uint32_t LVL1BS::L1CaloSubBlock::s_wordIdMask = 0xf |
|
staticprivateinherited |
◆ s_wordIdVal
const int LVL1BS::CpmSubBlock::s_wordIdVal = 0xc |
|
staticprivate |
◆ s_wordLength
const int LVL1BS::CpmSubBlock::s_wordLength = 32 |
|
staticprivate |
◆ s_wordsPerPin
const int LVL1BS::CpmSubBlock::s_wordsPerPin = 8 |
|
staticprivate |
The documentation for this class was generated from the following files:
void setBunchCrossing(int bc)
Set the Bunch Crossing number (neutral format only)
std::vector< uint32_t > m_hitData
Hit counts.
int hadData(int slice, int channel) const
Return Had data for given channel.
static const uint32_t s_pairPinMask
static const int s_moduleBit
static const int s_bcnMismatchBit
static const int s_daqOverflowBit
@ UNPACK_COMPRESSION_VERSION
bool unpackUncompressed()
Unpack uncompressed data.
void clear()
Clear all data.
static const uint32_t s_wordIdMask
void packerNeutral(int pin, uint32_t datum, int nbits)
Pack given neutral data from given pin.
static const int s_dataIdBit
static const int s_parityBBit
static const int s_failingBcnBit
std::vector< uint32_t >::const_iterator m_dataPosEnd
unsigned int hits(int slice, int offset) const
Return hit counts with given offset.
static const int s_formatBit
static const uint32_t s_dataIdMask
static const int s_glinkParityBit
int emData(int slice, int channel) const
Return Em data for given channel.
static const uint32_t s_glinkDavSet
void unpackerInit()
Initialise unpacker.
static const int s_ttWordId
static const int s_glinkDownBit
static const uint32_t s_slices1Mask
static const uint32_t s_failingBcnMask
static const int s_wordLength
Data word length.
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.
static const uint32_t s_headerVal
static const int s_parityABit
static const uint32_t s_slices2Mask
static const uint32_t s_statusVal
static const uint32_t s_threshWordId
int index(int slice) const
Return data index appropriate to format.
std::vector< uint32_t > m_ttData
Trigger tower data.
void packerFlush()
Flush the current data word padded with zeros.
int bunchCrossing() const
Return the Bunch Crossing number (neutral format only)
unsigned int hits0(int slice) const
Return e/gamma hit counts.
bool upstreamError() const
int hadError(int slice, int channel) const
Return Had error for given channel.
void setHits(int slice, unsigned int hit0, unsigned int hit1)
Store hit counts.
bool unpackNeutral()
Unpack neutral data.
static const int s_hitWords
int timeslices() const
Return number of timeslices.
static const uint32_t s_seqnoMask
static const uint32_t s_moduleMask
const DataType * PointerType
static const int s_upstreamErrorBit
static const int s_pairBit
void packer(uint32_t datum, int nbits)
Pack given data into given number of bits.
uint32_t failingBCN() const
std::vector< uint32_t > m_data
Sub-Block data.
@ UNPACK_COMPRESSION_SLICES
bool glinkTimeout() const
int error(int slice, int channel, int offset) const
Return error for given channel and pin offset.
static const int s_statusBit
bool packUncompressed()
Pack uncompressed data.
static const int s_ppmCrates
std::vector< int > m_currentPinBit
int dataId(uint32_t word) const
Return data WordID.
bool packNeutral()
Pack neutral data.
bool unpackerNeutralParityError(int pin)
Unpack and test G-Link parity bit for given pin.
int m_unpackError
Unpacking error code.
static const int s_wordIdVal
CPM header word ID.
int m_channels
Number of Trigger tower channels per module.
static const int s_errBits
int m_bunchCrossing
Bunch Crossing number (neutral format only)
void resize(std::vector< uint32_t > &vec, int channels)
Resize a data vector according to format.
uint32_t unpacker(int nbits)
Unpack given number of bits of data.
static const uint32_t s_maxStreamedMask
static const int s_pairsPerPin
static const int s_fpgaBit
static const int s_indicatorBit
bool glinkProtocol() const
static SubBlockWordType wordType(uint32_t word)
Word identification.
std::vector< int > m_oddParity
static const int s_glinkProtocolBit
unsigned int hits1(int slice) const
Return tau hit counts.
static const int s_wordsPerPin
bool unpackerSuccess() const
Return unpacker success flag.
static const uint32_t s_versionMask
static const int s_ttBits
static const int s_slices1Bit
int dataWords() const
Return number of data words.
static const uint32_t s_formatMask
uint32_t m_trailer
Sub-Block Status Trailer.
static const int s_glinkBitsPerSlice
static const int s_seqnoBit
std::vector< uint32_t >::const_iterator m_dataPos
static const int s_headerBit
uint32_t m_header
Sub-Block Header.
static const int s_maxPins
def init(v_theApp, v_rootStream=None)
static const uint32_t s_ttDataMask
static const uint32_t s_statusMask
static const int s_glinkPins
static const int s_hitBits
static const int s_maxStreamedBits
static const uint32_t s_headerMask
void fillTowerData(int slice, int channel, int em, int had, int emErr, int hadErr)
Store trigger tower data.
void setUnpackErrorCode(int code)
Set the unpacking error code.
std::vector< uint32_t > m_unpackingMasks
Unpacking masks.
int parityBit(int init, uint32_t datum, int nbits) const
Return the parity bit for given data.
static const int s_wordIdBit
int emError(int slice, int channel) const
Return Em error for given channel.
static const int s_ttDataABit
static const int s_crateBit
static const int s_linkDownBBit
uint32_t unpackerNeutral(int pin, int nbits)
Unpack given number of bits of neutral data for given pin.
static const int s_slices2Bit
std::vector< int > m_chanPresent
Channel present flags vector.
static const uint32_t s_crateMask
static const int s_ttDataBBit
int m_dataWords
Current number of data words.
void setStatus(uint32_t failingBCN, bool glinkTimeout, bool glinkDown, bool upstreamError, bool daqOverflow, bool bcnMismatch, bool glinkProtocol, bool glinkParity)
Store error status trailer.
static const uint32_t s_threshMask
int data(int slice, int channel, int offset) const
Return data for given channel and pin offset.
static const int s_versionBit
static const int s_linkDownABit
void packerNeutralParity(int pin)
Pack current G-Link parity bit for given pin.
static const int s_glinkTimeoutBit