Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Sub-Block class for CMX-CP data post LS1.
More...
#include <CmxCpSubBlock.h>
|
enum | SourceId {
REMOTE_0,
REMOTE_1,
REMOTE_2,
LOCAL,
TOTAL,
TOPO_CHECKSUM,
TOPO_OCCUPANCY_MAP,
TOPO_OCCUPANCY_COUNTS,
MAX_SOURCE_ID
} |
| Sources of threshold sums. More...
|
|
enum | CmxFirmwareCode { CMX_CP = 0,
CMX_JET = 1,
CMX_ENERGY = 2,
CMX_UNKNOWN = 3
} |
|
enum | CmxSummingCode { CRATE = 0,
SYSTEM = 1
} |
|
enum | CmxPositions { LEFT = 0,
RIGHT = 1
} |
|
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
} |
|
|
| CmxCpSubBlock () |
|
| ~CmxCpSubBlock () |
|
void | clear () |
| Clear all data. More...
|
|
unsigned int | presenceMap (int slice, int cpm) const |
| Return presence map for given CPM. More...
|
|
int | chip (int slice, int cpm, int tob) const |
| Return chip for given cpm and tob. More...
|
|
int | localCoord (int slice, int cpm, int tob) const |
| Return Local coordinate for given cpm and tob. More...
|
|
int | isolation (int slice, int cpm, int tob) const |
| Return isolation for given cpm and tob. More...
|
|
int | energy (int slice, int cpm, int tob) const |
| Return energy for given cpm and tob. More...
|
|
int | tobError (int slice, int cpm, int tob) const |
| Return error bits for given cpm and tob. More...
|
|
unsigned int | hits (int slice, int source, int flag) const |
| Return hit/topo counts for given source ID and HL flag. More...
|
|
int | hitsError (int slice, int source, int flag) const |
| Return hit error for given source ID and HL flag. More...
|
|
int | roiOverflow (int slice, int source) const |
| Return RoI overflow for given source ID. More...
|
|
void | setPresenceMap (int slice, int cpm, unsigned int map) |
| Store presence map. More...
|
|
void | setTob (int slice, int cpm, int chip, int loc, int energy, int isol, int error) |
| Store TOB (RoI) data for given CPM, chip, local coord. More...
|
|
void | setHits (int slice, int source, int flag, unsigned int hits, int error) |
| Store hit counts for given source ID and HL flag. More...
|
|
void | setRoiOverflow (int slice, int source, int overflow) |
| Store RoI overflow for given source ID. More...
|
|
bool | pack () |
| Pack data. More...
|
|
bool | unpack () |
| Unpack data. More...
|
|
void | setCmxHeader (int version, int format, int slice, int crate, int summing, int firmware, int position, int timeslices) |
| Store CMX header. More...
|
|
int | cmxSumming () const |
|
int | cmxFirmware () const |
|
int | cmxPosition () const |
|
int | timeslices () const |
|
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 CmxFirmwareCode | cmxType (uint32_t word) |
| CMX differentiation (CMX_CP, CMX_JET, or CMX_ENERGY) More...
|
|
static bool | cmxBlock (uint32_t word) |
| Determine if header word corresponds to CMX. 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 CMX-CP data post LS1.
Based on "ATLAS Level-1 Calorimeter Trigger Read-out Driver" Version X.xxx <<== CHECK
- Author
- Peter Faulkner
Definition at line 23 of file CmxCpSubBlock.h.
◆ CmxFirmwareCode
Enumerator |
---|
CMX_CP | |
CMX_JET | |
CMX_ENERGY | |
CMX_UNKNOWN | |
Definition at line 25 of file CmxSubBlock.h.
◆ CmxPositions
◆ CmxSummingCode
◆ 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.
◆ SourceId
Sources of threshold sums.
Enumerator |
---|
REMOTE_0 | |
REMOTE_1 | |
REMOTE_2 | |
LOCAL | |
TOTAL | |
TOPO_CHECKSUM | |
TOPO_OCCUPANCY_MAP | |
TOPO_OCCUPANCY_COUNTS | |
MAX_SOURCE_ID | |
Definition at line 28 of file CmxCpSubBlock.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.
◆ CmxCpSubBlock()
LVL1BS::CmxCpSubBlock::CmxCpSubBlock |
( |
| ) |
|
◆ ~CmxCpSubBlock()
LVL1BS::CmxCpSubBlock::~CmxCpSubBlock |
( |
| ) |
|
◆ 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.
◆ chip()
int LVL1BS::CmxCpSubBlock::chip |
( |
int |
slice, |
|
|
int |
cpm, |
|
|
int |
tob |
|
) |
| const |
◆ clear()
void LVL1BS::CmxCpSubBlock::clear |
( |
| ) |
|
◆ cmxBlock()
bool LVL1BS::CmxSubBlock::cmxBlock |
( |
uint32_t |
word | ) |
|
|
staticinherited |
Determine if header word corresponds to CMX.
Definition at line 84 of file CmxSubBlock.cxx.
◆ cmxFirmware()
int LVL1BS::CmxSubBlock::cmxFirmware |
( |
| ) |
const |
|
inlineinherited |
◆ cmxPosition()
int LVL1BS::CmxSubBlock::cmxPosition |
( |
| ) |
const |
|
inlineinherited |
◆ cmxSumming()
int LVL1BS::CmxSubBlock::cmxSumming |
( |
| ) |
const |
|
inlineinherited |
◆ cmxType()
CMX differentiation (CMX_CP, CMX_JET, or CMX_ENERGY)
Definition at line 60 of file CmxSubBlock.cxx.
◆ cpm()
int LVL1BS::CmxCpSubBlock::cpm |
( |
uint32_t |
word | ) |
const |
|
inlineprivate |
◆ crate()
int LVL1BS::L1CaloSubBlock::crate |
( |
| ) |
const |
|
inlineinherited |
◆ currentPinBit()
int LVL1BS::L1CaloSubBlock::currentPinBit |
( |
int |
pin | ) |
const |
|
inlineinherited |
◆ daqOverflow()
bool LVL1BS::L1CaloSubBlock::daqOverflow |
( |
| ) |
const |
|
inlineinherited |
◆ dataWordId()
int LVL1BS::CmxCpSubBlock::dataWordId |
( |
uint32_t |
word | ) |
const |
|
inlineprivate |
◆ dataWords()
int LVL1BS::L1CaloSubBlock::dataWords |
( |
| ) |
const |
|
inlineinherited |
◆ energy()
int LVL1BS::CmxCpSubBlock::energy |
( |
int |
slice, |
|
|
int |
cpm, |
|
|
int |
tob |
|
) |
| const |
◆ failingBCN()
uint32_t LVL1BS::L1CaloSubBlock::failingBCN |
( |
| ) |
const |
|
inlineinherited |
◆ 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 |
◆ hitIndex()
unsigned int LVL1BS::CmxCpSubBlock::hitIndex |
( |
int |
slice, |
|
|
int |
source, |
|
|
int |
flag |
|
) |
| const |
|
private |
◆ hits()
unsigned int LVL1BS::CmxCpSubBlock::hits |
( |
int |
slice, |
|
|
int |
source, |
|
|
int |
flag |
|
) |
| const |
Return hit/topo counts for given source ID and HL flag.
Definition at line 155 of file CmxCpSubBlock.cxx.
158 unsigned int hits = 0;
◆ hitsError()
int LVL1BS::CmxCpSubBlock::hitsError |
( |
int |
slice, |
|
|
int |
source, |
|
|
int |
flag |
|
) |
| const |
◆ hlFlag()
int LVL1BS::CmxCpSubBlock::hlFlag |
( |
uint32_t |
word | ) |
const |
|
inlineprivate |
◆ isolation()
int LVL1BS::CmxCpSubBlock::isolation |
( |
int |
slice, |
|
|
int |
cpm, |
|
|
int |
tob |
|
) |
| const |
◆ localCoord()
int LVL1BS::CmxCpSubBlock::localCoord |
( |
int |
slice, |
|
|
int |
cpm, |
|
|
int |
tob |
|
) |
| const |
◆ mapIndex()
unsigned int LVL1BS::CmxCpSubBlock::mapIndex |
( |
int |
slice, |
|
|
int |
cpm |
|
) |
| 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 |
◆ ovfIndex()
unsigned int LVL1BS::CmxCpSubBlock::ovfIndex |
( |
int |
slice, |
|
|
int |
source |
|
) |
| const |
|
private |
◆ pack()
bool LVL1BS::CmxCpSubBlock::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::CmxCpSubBlock::packNeutral |
( |
| ) |
|
|
private |
◆ packUncompressed()
bool LVL1BS::CmxCpSubBlock::packUncompressed |
( |
| ) |
|
|
private |
Pack uncompressed data.
Definition at line 467 of file CmxCpSubBlock.cxx.
469 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;
◆ presenceMap()
unsigned int LVL1BS::CmxCpSubBlock::presenceMap |
( |
int |
slice, |
|
|
int |
cpm |
|
) |
| const |
◆ 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::CmxCpSubBlock::resize |
( |
| ) |
|
|
private |
◆ roiOverflow()
int LVL1BS::CmxCpSubBlock::roiOverflow |
( |
int |
slice, |
|
|
int |
source |
|
) |
| const |
◆ 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.
◆ setCmxHeader()
void LVL1BS::CmxSubBlock::setCmxHeader |
( |
int |
version, |
|
|
int |
format, |
|
|
int |
slice, |
|
|
int |
crate, |
|
|
int |
summing, |
|
|
int |
firmware, |
|
|
int |
position, |
|
|
int |
timeslices |
|
) |
| |
|
inherited |
◆ 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::CmxCpSubBlock::setHits |
( |
int |
slice, |
|
|
int |
source, |
|
|
int |
flag, |
|
|
unsigned int |
hits, |
|
|
int |
error |
|
) |
| |
◆ setPresenceMap()
void LVL1BS::CmxCpSubBlock::setPresenceMap |
( |
int |
slice, |
|
|
int |
cpm, |
|
|
unsigned int |
map |
|
) |
| |
◆ setRoiOverflow()
void LVL1BS::CmxCpSubBlock::setRoiOverflow |
( |
int |
slice, |
|
|
int |
source, |
|
|
int |
overflow |
|
) |
| |
◆ 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.
◆ setTob()
void LVL1BS::CmxCpSubBlock::setTob |
( |
int |
slice, |
|
|
int |
cpm, |
|
|
int |
chip, |
|
|
int |
loc, |
|
|
int |
energy, |
|
|
int |
isol, |
|
|
int |
error |
|
) |
| |
Store TOB (RoI) data for given CPM, chip, local coord.
Definition at line 203 of file CmxCpSubBlock.cxx.
225 if (
chip < chipOld) {
◆ 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 |
◆ sourceId()
int LVL1BS::CmxCpSubBlock::sourceId |
( |
uint32_t |
word | ) |
const |
|
inlineprivate |
◆ subStatus()
uint32_t LVL1BS::L1CaloSubBlock::subStatus |
( |
| ) |
const |
|
inlineinherited |
◆ timeslices()
int LVL1BS::CmxSubBlock::timeslices |
( |
| ) |
const |
|
inherited |
◆ tobError()
int LVL1BS::CmxCpSubBlock::tobError |
( |
int |
slice, |
|
|
int |
cpm, |
|
|
int |
tob |
|
) |
| const |
◆ tobIndex()
unsigned int LVL1BS::CmxCpSubBlock::tobIndex |
( |
int |
slice, |
|
|
int |
cpm, |
|
|
int |
tob |
|
) |
| const |
|
private |
◆ unpack()
bool LVL1BS::CmxCpSubBlock::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::CmxCpSubBlock::unpackNeutral |
( |
| ) |
|
|
private |
Unpack neutral data.
Definition at line 482 of file CmxCpSubBlock.cxx.
486 int fifoOverflow = 0;
524 for (
int bit = 0; bit <
s_presenceBits; ++bit) ntobs += (map>>bit)&1;
525 int error = parityMerge;
531 const int cpm = pin + 1;
◆ unpackUncompressed()
bool LVL1BS::CmxCpSubBlock::unpackUncompressed |
( |
| ) |
|
|
private |
◆ 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_cpmTobCount
std::vector<int> LVL1BS::CmxCpSubBlock::m_cpmTobCount |
|
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_hitsData
std::vector<uint32_t> LVL1BS::CmxCpSubBlock::m_hitsData |
|
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_overflow
std::vector<int> LVL1BS::CmxCpSubBlock::m_overflow |
|
private |
◆ m_presenceMaps
std::vector<unsigned int> LVL1BS::CmxCpSubBlock::m_presenceMaps |
|
private |
◆ m_tobData
std::vector<uint32_t> LVL1BS::CmxCpSubBlock::m_tobData |
|
private |
◆ m_trailer
uint32_t LVL1BS::L1CaloSubBlock::m_trailer |
|
privateinherited |
◆ 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_bunchCrossingBits
const int LVL1BS::CmxCpSubBlock::s_bunchCrossingBits = 12 |
|
staticprivate |
◆ s_cmxFirmwareBit
const int LVL1BS::CmxSubBlock::s_cmxFirmwareBit = 1 |
|
staticprivateinherited |
◆ s_cmxFirmwareMask
const uint32_t LVL1BS::CmxSubBlock::s_cmxFirmwareMask = 0x3 |
|
staticprivateinherited |
◆ s_cmxPositionBit
const int LVL1BS::CmxSubBlock::s_cmxPositionBit = 0 |
|
staticprivateinherited |
◆ s_cmxPositionMask
const uint32_t LVL1BS::CmxSubBlock::s_cmxPositionMask = 0x1 |
|
staticprivateinherited |
◆ s_cmxSummingBit
const int LVL1BS::CmxSubBlock::s_cmxSummingBit = 3 |
|
staticprivateinherited |
◆ s_cmxSummingMask
const uint32_t LVL1BS::CmxSubBlock::s_cmxSummingMask = 0x1 |
|
staticprivateinherited |
◆ s_coordBits
const int LVL1BS::CmxCpSubBlock::s_coordBits = 2 |
|
staticprivate |
◆ 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_dataWordIdBit
const int LVL1BS::CmxCpSubBlock::s_dataWordIdBit = 29 |
|
staticprivate |
◆ s_dataWordIdMask
const uint32_t LVL1BS::CmxCpSubBlock::s_dataWordIdMask = 0x7 |
|
staticprivate |
◆ s_energyBits
const int LVL1BS::CmxCpSubBlock::s_energyBits = 8 |
|
staticprivate |
◆ s_errorMask
const uint32_t LVL1BS::CmxCpSubBlock::s_errorMask = 0x1 |
|
staticprivate |
◆ s_failingBcnBit
const int LVL1BS::L1CaloSubBlock::s_failingBcnBit = 22 |
|
staticprivateinherited |
◆ s_failingBcnMask
const uint32_t LVL1BS::L1CaloSubBlock::s_failingBcnMask = 0x3f |
|
staticprivateinherited |
◆ s_fifoOverflowBits
const int LVL1BS::CmxCpSubBlock::s_fifoOverflowBits = 1 |
|
staticprivate |
◆ s_formatBit
const int LVL1BS::L1CaloSubBlock::s_formatBit = 22 |
|
staticprivateinherited |
◆ s_formatMask
const uint32_t LVL1BS::L1CaloSubBlock::s_formatMask = 0x7 |
|
staticprivateinherited |
◆ s_glinkBitsPerSlice
const int LVL1BS::CmxSubBlock::s_glinkBitsPerSlice = 97 |
|
staticprivateinherited |
◆ 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::CmxCpSubBlock::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_hitsBits
const int LVL1BS::CmxCpSubBlock::s_hitsBits = 24 |
|
staticprivate |
◆ s_hitsErrorBits
const int LVL1BS::CmxCpSubBlock::s_hitsErrorBits = 1 |
|
staticprivate |
◆ s_hlFlagBit
const int LVL1BS::CmxCpSubBlock::s_hlFlagBit = 25 |
|
staticprivate |
◆ s_hlFlagMask
const uint32_t LVL1BS::CmxCpSubBlock::s_hlFlagMask = 0x1 |
|
staticprivate |
◆ s_isolationBits
const int LVL1BS::CmxCpSubBlock::s_isolationBits = 5 |
|
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_modules
const int LVL1BS::CmxCpSubBlock::s_modules = 14 |
|
staticprivate |
◆ s_muxPhases
const int LVL1BS::CmxCpSubBlock::s_muxPhases = 4 |
|
staticprivate |
◆ s_paddingBits
const int LVL1BS::CmxCpSubBlock::s_paddingBits = 45 |
|
staticprivate |
◆ s_parityErrorBits
const int LVL1BS::CmxCpSubBlock::s_parityErrorBits = 1 |
|
staticprivate |
◆ s_parityErrorMask
const int LVL1BS::CmxCpSubBlock::s_parityErrorMask = 0x1 |
|
staticprivate |
◆ s_ppmCrates
const int LVL1BS::L1CaloSubBlock::s_ppmCrates = 8 |
|
staticprivateinherited |
◆ s_presenceBits
const int LVL1BS::CmxCpSubBlock::s_presenceBits = 16 |
|
staticprivate |
◆ s_roiOverflowBits
const int LVL1BS::CmxCpSubBlock::s_roiOverflowBits = 1 |
|
staticprivate |
◆ 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_sourceIdBit
const int LVL1BS::CmxCpSubBlock::s_sourceIdBit = 26 |
|
staticprivate |
◆ s_sourceIdMask
const uint32_t LVL1BS::CmxCpSubBlock::s_sourceIdMask = 0x7 |
|
staticprivate |
◆ 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_threshBit
const int LVL1BS::CmxCpSubBlock::s_threshBit = 0 |
|
staticprivate |
◆ s_threshErrorBit
const int LVL1BS::CmxCpSubBlock::s_threshErrorBit = 24 |
|
staticprivate |
◆ s_threshMask
const uint32_t LVL1BS::CmxCpSubBlock::s_threshMask = 0xffffff |
|
staticprivate |
◆ s_threshWordId
const int LVL1BS::CmxCpSubBlock::s_threshWordId = 1 |
|
staticprivate |
◆ s_tobChipBit
const int LVL1BS::CmxCpSubBlock::s_tobChipBit = 21 |
|
staticprivate |
◆ s_tobChipMask
const uint32_t LVL1BS::CmxCpSubBlock::s_tobChipMask = 0xf |
|
staticprivate |
◆ s_tobCoordBit
const int LVL1BS::CmxCpSubBlock::s_tobCoordBit = 19 |
|
staticprivate |
◆ s_tobCoordMask
const uint32_t LVL1BS::CmxCpSubBlock::s_tobCoordMask = 0x3 |
|
staticprivate |
◆ s_tobCpmBit
const int LVL1BS::CmxCpSubBlock::s_tobCpmBit = 25 |
|
staticprivate |
◆ s_tobCpmMask
const uint32_t LVL1BS::CmxCpSubBlock::s_tobCpmMask = 0xf |
|
staticprivate |
◆ s_tobEnergyBit
const int LVL1BS::CmxCpSubBlock::s_tobEnergyBit = 0 |
|
staticprivate |
◆ s_tobEnergyMask
const uint32_t LVL1BS::CmxCpSubBlock::s_tobEnergyMask = 0xff |
|
staticprivate |
◆ s_tobErrorBit
const int LVL1BS::CmxCpSubBlock::s_tobErrorBit = 13 |
|
staticprivate |
◆ s_tobErrorMask
const uint32_t LVL1BS::CmxCpSubBlock::s_tobErrorMask = 0x3f |
|
staticprivate |
◆ s_tobIsolationBit
const int LVL1BS::CmxCpSubBlock::s_tobIsolationBit = 8 |
|
staticprivate |
◆ s_tobIsolationMask
const uint32_t LVL1BS::CmxCpSubBlock::s_tobIsolationMask = 0x1f |
|
staticprivate |
◆ s_tobOverflowBit
const int LVL1BS::CmxCpSubBlock::s_tobOverflowBit = 18 |
|
staticprivate |
◆ s_tobsPerModule
const int LVL1BS::CmxCpSubBlock::s_tobsPerModule = 5 |
|
staticprivate |
◆ s_tobWordId
const int LVL1BS::CmxCpSubBlock::s_tobWordId = 0 |
|
staticprivate |
◆ s_topoChecksumBits
const int LVL1BS::CmxCpSubBlock::s_topoChecksumBits = 16 |
|
staticprivate |
◆ s_topoCountsBits
const int LVL1BS::CmxCpSubBlock::s_topoCountsBits = 21 |
|
staticprivate |
◆ s_topoMapBits
const int LVL1BS::CmxCpSubBlock::s_topoMapBits = 14 |
|
staticprivate |
◆ s_topoPaddingBits
const int LVL1BS::CmxCpSubBlock::s_topoPaddingBits = 11 |
|
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::CmxSubBlock::s_wordIdVal = 0xe |
|
staticprivateinherited |
◆ s_wordLength
const int LVL1BS::CmxCpSubBlock::s_wordLength = 32 |
|
staticprivate |
The documentation for this class was generated from the following files:
void setBunchCrossing(int bc)
Set the Bunch Crossing number (neutral format only)
static const int s_bunchCrossingBits
int localCoord(int slice, int cpm, int tob) const
Return Local coordinate for given cpm and tob.
static const int s_fifoOverflowBits
static const int s_topoChecksumBits
static const uint32_t s_sourceIdMask
Extra patterns decribing particle interation process.
static const int s_moduleBit
unsigned int hitIndex(int slice, int source, int flag) const
static const int s_bcnMismatchBit
static const int s_daqOverflowBit
@ UNPACK_COMPRESSION_VERSION
static const int s_hitsErrorBits
void clear()
Clear all data.
static const int s_threshWordId
int hlFlag(uint32_t word) const
static const int s_tobsPerModule
static const uint32_t s_wordIdMask
void packerNeutral(int pin, uint32_t datum, int nbits)
Pack given neutral data from given pin.
unsigned int ovfIndex(int slice, int source) const
static const int s_failingBcnBit
std::vector< uint32_t >::const_iterator m_dataPosEnd
std::vector< uint32_t > m_hitsData
Hits and topo data.
static const int s_tobWordId
int isolation(int slice, int cpm, int tob) const
Return isolation for given cpm and tob.
static const int s_formatBit
int sourceId(uint32_t word) const
static const int s_glinkParityBit
static const uint32_t s_glinkDavSet
void setGlinkParity(int bit=1)
Set G-Link Parity bit in Sub-status word.
void unpackerInit()
Initialise unpacker.
unsigned int presenceMap(int slice, int cpm) const
Return presence map for given CPM.
static const int s_glinkDownBit
static const int s_muxPhases
static const uint32_t s_cmxPositionMask
static const uint32_t s_slices1Mask
int cpm(uint32_t word) const
static const uint32_t s_failingBcnMask
void setPresenceMap(int slice, int cpm, unsigned int map)
Store presence map.
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
int tobError(int slice, int cpm, int tob) const
Return error bits for given cpm and tob.
static const int s_topoCountsBits
static const uint32_t s_slices2Mask
static const uint32_t s_statusVal
static const int s_hitsBits
void packerFlush()
Flush the current data word padded with zeros.
int bunchCrossing() const
Return the Bunch Crossing number (neutral format only)
static const int s_energyBits
static const int s_tobErrorBit
unsigned int hits(int slice, int source, int flag) const
Return hit/topo counts for given source ID and HL flag.
bool upstreamError() const
static const int s_coordBits
static const int s_parityErrorMask
void setHits(int slice, int source, int flag, unsigned int hits, int error)
Store hit counts for given source ID and HL flag.
static const int s_glinkBitsPerSlice
Needed for neutral format.
static const uint32_t s_cmxSummingMask
void setTob(int slice, int cpm, int chip, int loc, int energy, int isol, int error)
Store TOB (RoI) data for given CPM, chip, local coord.
static const uint32_t s_tobCoordMask
static const uint32_t s_errorMask
static const int s_topoPaddingBits
bool packNeutral()
Pack neutral data.
static const uint32_t s_seqnoMask
static const uint32_t s_moduleMask
const DataType * PointerType
static const int s_upstreamErrorBit
static const int s_wordIdVal
CMX header word ID.
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
std::vector< int > m_cpmTobCount
CPM TOB count vector for unpacking.
bool unpackNeutral()
Unpack neutral data.
bool glinkTimeout() const
std::vector< int > m_overflow
RoI overflows for neutral data.
static const int s_statusBit
static const int s_presenceBits
static const int s_ppmCrates
std::vector< unsigned int > m_presenceMaps
Presence maps.
void setDaqOverflow(int bit=1)
Set DAQ FIFO Overflow bit in Sub-status word.
int hitsError(int slice, int source, int flag) const
Return hit error for given source ID and HL flag.
std::vector< int > m_currentPinBit
bool unpackerNeutralParityError(int pin)
Unpack and test G-Link parity bit for given pin.
int m_unpackError
Unpacking error code.
bool unpackUncompressed()
Unpack uncompressed data.
unsigned int mapIndex(int slice, int cpm) const
int m_bunchCrossing
Bunch Crossing number (neutral format only)
uint32_t unpacker(int nbits)
Unpack given number of bits of data.
static const uint32_t s_maxStreamedMask
static const uint32_t s_hlFlagMask
void setRoiOverflow(int slice, int source, int overflow)
Store RoI overflow for given source ID.
bool glinkProtocol() const
bool packUncompressed()
Pack uncompressed data.
static SubBlockWordType wordType(uint32_t word)
Word identification.
int roiOverflow(int slice, int source) const
Return RoI overflow for given source ID.
static const int s_cmxSummingBit
static const int s_modules
int chip(int slice, int cpm, int tob) const
Return chip for given cpm and tob.
int dataWordId(uint32_t word) const
static const int s_tobCpmBit
std::vector< int > m_oddParity
static const int s_tobEnergyBit
static const int s_glinkProtocolBit
static const int s_cmxPositionBit
std::vector< uint32_t > m_tobData
TOB data.
bool unpackerSuccess() const
Return unpacker success flag.
static const uint32_t s_versionMask
static const int s_slices1Bit
int dataWords() const
Return number of data words.
static const uint32_t s_formatMask
static const int s_hlFlagBit
static const uint32_t s_dataWordIdMask
static const uint32_t s_cmxFirmwareMask
static const int s_glinkPins
uint32_t m_trailer
Sub-Block Status Trailer.
static const int s_seqnoBit
static const int s_threshErrorBit
unsigned int tobIndex(int slice, int cpm, int tob) const
std::vector< uint32_t >::const_iterator m_dataPos
static const uint32_t s_tobIsolationMask
static const int s_headerBit
uint32_t m_header
Sub-Block Header.
static const int s_maxPins
static const int s_sourceIdBit
def init(v_theApp, v_rootStream=None)
static const int s_tobCoordBit
static const int s_tobIsolationBit
static const uint32_t s_statusMask
static const int s_cmxFirmwareBit
static const uint32_t s_threshMask
static const int s_wordLength
Data word length.
static const int s_dataWordIdBit
static const int s_threshBit
static const int s_tobChipBit
static const int s_maxStreamedBits
static const uint32_t s_headerMask
static const int s_paddingBits
void setUnpackErrorCode(int code)
Set the unpacking error code.
int energy(int slice, int cpm, int tob) const
Return energy for given cpm and tob.
static const int s_topoMapBits
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 uint32_t s_tobErrorMask
static const int s_wordIdBit
static const int s_parityErrorBits
static const int s_crateBit
static const int s_isolationBits
static const uint32_t s_tobCpmMask
uint32_t unpackerNeutral(int pin, int nbits)
Unpack given number of bits of neutral data for given pin.
static const int s_slices2Bit
static const uint32_t s_crateMask
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_tobChipMask
static const int s_versionBit
static const uint32_t s_tobEnergyMask
void packerNeutralParity(int pin)
Pack current G-Link parity bit for given pin.
static const int s_glinkTimeoutBit