|
ATLAS Offline Software
|
Sub-Block class for CMX-Jet data post LS1.
More...
#include <CmxJetSubBlock.h>
|
enum | SourceId {
REMOTE_MAIN = 0,
LOCAL_MAIN = 1,
TOTAL_MAIN = 2,
REMOTE_FORWARD = 4,
LOCAL_FORWARD = 5,
TOTAL_FORWARD = 6,
TOPO_CHECKSUM = 8,
TOPO_OCCUPANCY_MAP = 9,
TOPO_OCCUPANCY_COUNTS = 10,
MAX_SOURCE_ID = 11
} |
|
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
} |
|
|
| CmxJetSubBlock () |
|
| ~CmxJetSubBlock () |
|
void | clear () |
| Clear all data. More...
|
|
unsigned int | presenceMap (int slice, int jem) const |
| Return presence map for given JEM. More...
|
|
int | frame (int slice, int jem, int tob) const |
| Return frame for given jem and tob. More...
|
|
int | localCoord (int slice, int jem, int tob) const |
| Return Local coordinate for given jem and tob. More...
|
|
int | energyLarge (int slice, int jem, int tob) const |
| Return energy large window size for given jem and tob. More...
|
|
int | energySmall (int slice, int jem, int tob) const |
| Return energy small window size for given jem and tob. More...
|
|
int | tobError (int slice, int jem, int tob) const |
| Return error bit for given jem and tob. More...
|
|
int | parityBits (int slice, int jem) const |
| Return parity bits for given JEM. 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...
|
|
void | setPresenceMap (int slice, int jem, unsigned int map) |
| Store presence map. More...
|
|
void | setTob (int slice, int jem, int frame, int loc, int energyLarge, int energySmall, int error) |
| Store TOB (RoI) data for given JEM, frame, local coord. More...
|
|
void | setParityBits (int slice, int jem, int parity) |
| Store parity bits for neutral format. 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...
|
|
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-Jet 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 CmxJetSubBlock.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
Enumerator |
---|
REMOTE_MAIN | |
LOCAL_MAIN | |
TOTAL_MAIN | |
REMOTE_FORWARD | |
LOCAL_FORWARD | |
TOTAL_FORWARD | |
TOPO_CHECKSUM | |
TOPO_OCCUPANCY_MAP | |
TOPO_OCCUPANCY_COUNTS | |
MAX_SOURCE_ID | |
Definition at line 26 of file CmxJetSubBlock.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.
◆ CmxJetSubBlock()
LVL1BS::CmxJetSubBlock::CmxJetSubBlock |
( |
| ) |
|
◆ ~CmxJetSubBlock()
LVL1BS::CmxJetSubBlock::~CmxJetSubBlock |
( |
| ) |
|
◆ 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::CmxJetSubBlock::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.
◆ 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::CmxJetSubBlock::dataWordId |
( |
uint32_t |
word | ) |
const |
|
inlineprivate |
◆ dataWords()
int LVL1BS::L1CaloSubBlock::dataWords |
( |
| ) |
const |
|
inlineinherited |
◆ energyLarge()
int LVL1BS::CmxJetSubBlock::energyLarge |
( |
int |
slice, |
|
|
int |
jem, |
|
|
int |
tob |
|
) |
| const |
Return energy large window size for given jem and tob.
Definition at line 124 of file CmxJetSubBlock.cxx.
◆ energySmall()
int LVL1BS::CmxJetSubBlock::energySmall |
( |
int |
slice, |
|
|
int |
jem, |
|
|
int |
tob |
|
) |
| const |
Return energy small window size for given jem and tob.
Definition at line 136 of file CmxJetSubBlock.cxx.
◆ 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 |
◆ frame()
int LVL1BS::CmxJetSubBlock::frame |
( |
int |
slice, |
|
|
int |
jem, |
|
|
int |
tob |
|
) |
| const |
◆ 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::CmxJetSubBlock::hitIndex |
( |
int |
slice, |
|
|
int |
source, |
|
|
int |
flag |
|
) |
| const |
|
private |
◆ hits()
unsigned int LVL1BS::CmxJetSubBlock::hits |
( |
int |
slice, |
|
|
int |
source, |
|
|
int |
flag |
|
) |
| const |
Return hit/topo counts for given source ID and HL flag.
Definition at line 170 of file CmxJetSubBlock.cxx.
173 unsigned int hits = 0;
◆ hitsError()
int LVL1BS::CmxJetSubBlock::hitsError |
( |
int |
slice, |
|
|
int |
source, |
|
|
int |
flag |
|
) |
| const |
◆ hlFlag()
int LVL1BS::CmxJetSubBlock::hlFlag |
( |
uint32_t |
word | ) |
const |
|
inlineprivate |
◆ jem()
int LVL1BS::CmxJetSubBlock::jem |
( |
uint32_t |
word | ) |
const |
|
inlineprivate |
◆ localCoord()
int LVL1BS::CmxJetSubBlock::localCoord |
( |
int |
slice, |
|
|
int |
jem, |
|
|
int |
tob |
|
) |
| const |
◆ mapIndex()
unsigned int LVL1BS::CmxJetSubBlock::mapIndex |
( |
int |
slice, |
|
|
int |
jem |
|
) |
| 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::CmxJetSubBlock::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::CmxJetSubBlock::packNeutral |
( |
| ) |
|
|
private |
◆ packUncompressed()
bool LVL1BS::CmxJetSubBlock::packUncompressed |
( |
| ) |
|
|
private |
Pack uncompressed data.
Definition at line 481 of file CmxJetSubBlock.cxx.
483 std::vector<uint32_t>::const_iterator
pos;
◆ parIndex()
unsigned int LVL1BS::CmxJetSubBlock::parIndex |
( |
int |
slice, |
|
|
int |
jem |
|
) |
| const |
|
private |
◆ 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;
◆ parityBits()
int LVL1BS::CmxJetSubBlock::parityBits |
( |
int |
slice, |
|
|
int |
jem |
|
) |
| const |
◆ presenceMap()
unsigned int LVL1BS::CmxJetSubBlock::presenceMap |
( |
int |
slice, |
|
|
int |
jem |
|
) |
| 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::CmxJetSubBlock::resize |
( |
| ) |
|
|
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.
◆ 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::CmxJetSubBlock::setHits |
( |
int |
slice, |
|
|
int |
source, |
|
|
int |
flag, |
|
|
unsigned int |
hits, |
|
|
int |
error |
|
) |
| |
◆ setParityBits()
void LVL1BS::CmxJetSubBlock::setParityBits |
( |
int |
slice, |
|
|
int |
jem, |
|
|
int |
parity |
|
) |
| |
◆ setPresenceMap()
void LVL1BS::CmxJetSubBlock::setPresenceMap |
( |
int |
slice, |
|
|
int |
jem, |
|
|
unsigned int |
map |
|
) |
| |
◆ 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::CmxJetSubBlock::setTob |
( |
int |
slice, |
|
|
int |
jem, |
|
|
int |
frame, |
|
|
int |
loc, |
|
|
int |
energyLarge, |
|
|
int |
energySmall, |
|
|
int |
error |
|
) |
| |
Store TOB (RoI) data for given JEM, frame, local coord.
Definition at line 220 of file CmxJetSubBlock.cxx.
242 if (
frame < frameOld) {
◆ 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::CmxJetSubBlock::sourceId |
( |
uint32_t |
word | ) |
const |
|
inlineprivate |
◆ subStatus()
uint32_t LVL1BS::L1CaloSubBlock::subStatus |
( |
| ) |
const |
|
inlineinherited |
◆ timeslices()
int LVL1BS::CmxSubBlock::timeslices |
( |
| ) |
const |
|
inherited |
◆ tobError()
int LVL1BS::CmxJetSubBlock::tobError |
( |
int |
slice, |
|
|
int |
jem, |
|
|
int |
tob |
|
) |
| const |
◆ tobIndex()
unsigned int LVL1BS::CmxJetSubBlock::tobIndex |
( |
int |
slice, |
|
|
int |
jem, |
|
|
int |
tob |
|
) |
| const |
|
private |
◆ unpack()
bool LVL1BS::CmxJetSubBlock::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::CmxJetSubBlock::unpackNeutral |
( |
| ) |
|
|
private |
Unpack neutral data.
Definition at line 496 of file CmxJetSubBlock.cxx.
500 int fifoOverflow = 0;
531 const int error = (parity) ? 1 : 0;
535 if ((map >>
frame) & 1) {
537 energySmVec[tob],
error);
557 errorMain |= overflow;
558 errorFwd |= overflow;
◆ unpackUncompressed()
bool LVL1BS::CmxJetSubBlock::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_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::CmxJetSubBlock::m_hitsData |
|
private |
◆ m_jemTobCount
std::vector<int> LVL1BS::CmxJetSubBlock::m_jemTobCount |
|
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_parityBits
std::vector<int> LVL1BS::CmxJetSubBlock::m_parityBits |
|
private |
◆ m_presenceMaps
std::vector<unsigned int> LVL1BS::CmxJetSubBlock::m_presenceMaps |
|
private |
◆ m_tobData
std::vector<uint32_t> LVL1BS::CmxJetSubBlock::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::CmxJetSubBlock::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::CmxJetSubBlock::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::CmxJetSubBlock::s_dataWordIdBit = 29 |
|
staticprivate |
◆ s_dataWordIdMask
const uint32_t LVL1BS::CmxJetSubBlock::s_dataWordIdMask = 0x7 |
|
staticprivate |
◆ s_energyLgBits
const int LVL1BS::CmxJetSubBlock::s_energyLgBits = 10 |
|
staticprivate |
◆ s_energySmBits
const int LVL1BS::CmxJetSubBlock::s_energySmBits = {3, 6, 5, 4, 7, 2, 9, 0} |
|
staticprivate |
◆ s_errorMask
const uint32_t LVL1BS::CmxJetSubBlock::s_errorMask = 0x7 |
|
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::CmxJetSubBlock::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::CmxJetSubBlock::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_hlFlagBit
const int LVL1BS::CmxJetSubBlock::s_hlFlagBit = 19 |
|
staticprivate |
◆ s_hlFlagMask
const uint32_t LVL1BS::CmxJetSubBlock::s_hlFlagMask = 0x1 |
|
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::CmxJetSubBlock::s_modules = 16 |
|
staticprivate |
◆ s_muxPhases
const int LVL1BS::CmxJetSubBlock::s_muxPhases = 4 |
|
staticprivate |
◆ s_paddingBits
const int LVL1BS::CmxJetSubBlock::s_paddingBits = 31 |
|
staticprivate |
◆ s_parityErrorBits
const int LVL1BS::CmxJetSubBlock::s_parityErrorBits = 1 |
|
staticprivate |
◆ s_ppmCrates
const int LVL1BS::L1CaloSubBlock::s_ppmCrates = 8 |
|
staticprivateinherited |
◆ s_presenceBits
const int LVL1BS::CmxJetSubBlock::s_presenceBits = 8 |
|
staticprivate |
◆ s_roiOverflowBits
const int LVL1BS::CmxJetSubBlock::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::CmxJetSubBlock::s_sourceIdBit = 25 |
|
staticprivate |
◆ s_sourceIdMask
const uint32_t LVL1BS::CmxJetSubBlock::s_sourceIdMask = 0xf |
|
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::CmxJetSubBlock::s_threshBit = 0 |
|
staticprivate |
◆ s_threshErrorBit
const int LVL1BS::CmxJetSubBlock::s_threshErrorBit = 16 |
|
staticprivate |
◆ s_threshFwdHBits
const int LVL1BS::CmxJetSubBlock::s_threshFwdHBits = 14 |
|
staticprivate |
◆ s_threshFwdHMask
const uint32_t LVL1BS::CmxJetSubBlock::s_threshFwdHMask = 0x3fff |
|
staticprivate |
◆ s_threshFwdLBits
const int LVL1BS::CmxJetSubBlock::s_threshFwdLBits = 16 |
|
staticprivate |
◆ s_threshFwdLMask
const uint32_t LVL1BS::CmxJetSubBlock::s_threshFwdLMask = 0xffff |
|
staticprivate |
◆ s_threshHlFlagBit
const int LVL1BS::CmxJetSubBlock::s_threshHlFlagBit = 19 |
|
staticprivate |
◆ s_threshMainBits
const int LVL1BS::CmxJetSubBlock::s_threshMainBits = 15 |
|
staticprivate |
◆ s_threshMainMask
const uint32_t LVL1BS::CmxJetSubBlock::s_threshMainMask = 0x7fff |
|
staticprivate |
◆ s_threshWordId
const int LVL1BS::CmxJetSubBlock::s_threshWordId = 1 |
|
staticprivate |
◆ s_tobCoordBit
const int LVL1BS::CmxJetSubBlock::s_tobCoordBit = 20 |
|
staticprivate |
◆ s_tobCoordMask
const uint32_t LVL1BS::CmxJetSubBlock::s_tobCoordMask = 0x3 |
|
staticprivate |
◆ s_tobEnergyLgBit
const int LVL1BS::CmxJetSubBlock::s_tobEnergyLgBit = 0 |
|
staticprivate |
◆ s_tobEnergyLgMask
const uint32_t LVL1BS::CmxJetSubBlock::s_tobEnergyLgMask = 0x3ff |
|
staticprivate |
◆ s_tobEnergySmBit
const int LVL1BS::CmxJetSubBlock::s_tobEnergySmBit = 10 |
|
staticprivate |
◆ s_tobEnergySmMask
const uint32_t LVL1BS::CmxJetSubBlock::s_tobEnergySmMask = 0x1ff |
|
staticprivate |
◆ s_tobErrorBit
const int LVL1BS::CmxJetSubBlock::s_tobErrorBit = 19 |
|
staticprivate |
◆ s_tobErrorMask
const uint32_t LVL1BS::CmxJetSubBlock::s_tobErrorMask = 0x1 |
|
staticprivate |
◆ s_tobFrameBit
const int LVL1BS::CmxJetSubBlock::s_tobFrameBit = 22 |
|
staticprivate |
◆ s_tobFrameMask
const uint32_t LVL1BS::CmxJetSubBlock::s_tobFrameMask = 0x7 |
|
staticprivate |
◆ s_tobJemBit
const int LVL1BS::CmxJetSubBlock::s_tobJemBit = 25 |
|
staticprivate |
◆ s_tobJemMask
const uint32_t LVL1BS::CmxJetSubBlock::s_tobJemMask = 0xf |
|
staticprivate |
◆ s_tobsPerModule
const int LVL1BS::CmxJetSubBlock::s_tobsPerModule = 4 |
|
staticprivate |
◆ s_tobWordId
const int LVL1BS::CmxJetSubBlock::s_tobWordId = 0 |
|
staticprivate |
◆ s_topoCheckMask
const uint32_t LVL1BS::CmxJetSubBlock::s_topoCheckMask = 0xffff |
|
staticprivate |
◆ s_topoChecksumBits
const int LVL1BS::CmxJetSubBlock::s_topoChecksumBits = 16 |
|
staticprivate |
◆ s_topoCountsBits
const int LVL1BS::CmxJetSubBlock::s_topoCountsBits = 24 |
|
staticprivate |
◆ s_topoCountsMask
const uint32_t LVL1BS::CmxJetSubBlock::s_topoCountsMask = 0xffffff |
|
staticprivate |
◆ s_topoHlFlagBit
const int LVL1BS::CmxJetSubBlock::s_topoHlFlagBit = 24 |
|
staticprivate |
◆ s_topoMapBits
const int LVL1BS::CmxJetSubBlock::s_topoMapBits = 16 |
|
staticprivate |
◆ s_topoMapMask
const uint32_t LVL1BS::CmxJetSubBlock::s_topoMapMask = 0xffff |
|
staticprivate |
◆ s_topoPaddingBits
const int LVL1BS::CmxJetSubBlock::s_topoPaddingBits = 3 |
|
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::CmxJetSubBlock::s_wordLength = 32 |
|
staticprivate |
The documentation for this class was generated from the following files:
static const uint32_t s_tobCoordMask
unsigned int presenceMap(int slice, int jem) const
Return presence map for given JEM.
static const int s_sourceIdBit
void setBunchCrossing(int bc)
Set the Bunch Crossing number (neutral format only)
Extra patterns decribing particle interation process.
static const int s_moduleBit
static const int s_bcnMismatchBit
static const int s_hlFlagBit
static const int s_daqOverflowBit
@ UNPACK_COMPRESSION_VERSION
std::vector< uint32_t > m_tobData
TOB data.
static const uint32_t s_tobEnergySmMask
static const int s_tobCoordBit
int frame(int slice, int jem, int tob) const
Return frame for given jem and tob.
void setTob(int slice, int jem, int frame, int loc, int energyLarge, int energySmall, int error)
Store TOB (RoI) data for given JEM, frame, local coord.
void clear()
Clear all data.
static const int s_threshMainBits
static const int s_presenceBits
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_failingBcnBit
static const uint32_t s_tobJemMask
std::vector< uint32_t >::const_iterator m_dataPosEnd
static const int s_roiOverflowBits
static const int s_formatBit
int parityBits(int slice, int jem) const
Return parity bits for given JEM.
static const int s_glinkParityBit
static const uint32_t s_glinkDavSet
static const int s_threshFwdLBits
void setGlinkParity(int bit=1)
Set G-Link Parity bit in Sub-status word.
void unpackerInit()
Initialise unpacker.
static const int s_glinkDownBit
static const int s_tobFrameBit
static const uint32_t s_cmxPositionMask
static const int s_topoMapBits
static const uint32_t s_slices1Mask
static const uint32_t s_failingBcnMask
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 energyLarge(int slice, int jem, int tob) const
Return energy large window size for given jem and tob.
static const uint32_t s_slices2Mask
static const uint32_t s_statusVal
void packerFlush()
Flush the current data word padded with zeros.
static const int s_energyLgBits
int bunchCrossing() const
Return the Bunch Crossing number (neutral format only)
static const uint32_t s_topoCheckMask
bool upstreamError() const
static const int s_tobEnergySmBit
static const int s_topoPaddingBits
static const uint32_t s_sourceIdMask
unsigned int hitIndex(int slice, int source, int flag) const
static const uint32_t s_threshFwdHMask
static const int s_glinkBitsPerSlice
Needed for neutral format.
static const uint32_t s_cmxSummingMask
static const uint32_t s_tobFrameMask
static const int s_threshFwdHBits
static const int s_threshBit
bool unpackUncompressed()
Unpack uncompressed 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
static const int s_energySmBits[8]
std::vector< uint32_t > m_data
Sub-Block data.
@ UNPACK_COMPRESSION_SLICES
unsigned int hits(int slice, int source, int flag) const
Return hit/topo counts for given source ID and HL flag.
bool glinkTimeout() const
int dataWordId(uint32_t word) const
int localCoord(int slice, int jem, int tob) const
Return Local coordinate for given jem and tob.
static const int s_statusBit
static const int s_ppmCrates
void setDaqOverflow(int bit=1)
Set DAQ FIFO Overflow bit in Sub-status word.
std::vector< int > m_currentPinBit
static const int s_tobEnergyLgBit
static const int s_paddingBits
bool unpackerNeutralParityError(int pin)
Unpack and test G-Link parity bit for given pin.
int m_unpackError
Unpacking error code.
bool packUncompressed()
Pack uncompressed data.
static const int s_dataWordIdBit
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_tobErrorMask
static const int s_tobJemBit
unsigned int tobIndex(int slice, int jem, int tob) const
static const int s_threshHlFlagBit
bool glinkProtocol() const
static SubBlockWordType wordType(uint32_t word)
Word identification.
static const int s_cmxSummingBit
static const int s_wordLength
Data word length.
static const uint32_t s_tobEnergyLgMask
static const int s_tobWordId
std::vector< int > m_oddParity
int jem(uint32_t word) const
static const uint32_t s_dataWordIdMask
static const int s_glinkProtocolBit
static const int s_cmxPositionBit
std::vector< unsigned int > m_presenceMaps
Presence maps.
std::vector< int > m_parityBits
Parity data for neutral format.
bool unpackerSuccess() const
Return unpacker success flag.
static const int s_topoHlFlagBit
static const uint32_t s_versionMask
static const int s_slices1Bit
static const int s_threshWordId
int dataWords() const
Return number of data words.
static const uint32_t s_formatMask
std::vector< int > m_jemTobCount
JEM TOB count vector for unpacking.
static const int s_bunchCrossingBits
static const uint32_t s_cmxFirmwareMask
uint32_t m_trailer
Sub-Block Status Trailer.
static const int s_seqnoBit
static const int s_tobErrorBit
std::vector< uint32_t >::const_iterator m_dataPos
void setPresenceMap(int slice, int jem, unsigned int map)
Store presence map.
static const int s_topoCountsBits
static const int s_headerBit
uint32_t m_header
Sub-Block Header.
static const int s_maxPins
static const int s_topoChecksumBits
def init(v_theApp, v_rootStream=None)
void setParityBits(int slice, int jem, int parity)
Store parity bits for neutral format.
static const uint32_t s_statusMask
unsigned int mapIndex(int slice, int jem) const
static const int s_cmxFirmwareBit
bool unpackNeutral()
Unpack neutral data.
static const uint32_t s_threshMainMask
int sourceId(uint32_t word) const
static const int s_maxStreamedBits
static const uint32_t s_headerMask
static const uint32_t s_errorMask
void setUnpackErrorCode(int code)
Set the unpacking error code.
static const int s_parityErrorBits
static const int s_glinkPins
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
static const int s_threshErrorBit
static const int s_coordBits
static const int s_crateBit
static const uint32_t s_topoMapMask
uint32_t unpackerNeutral(int pin, int nbits)
Unpack given number of bits of neutral data for given pin.
int hlFlag(uint32_t word) const
static const int s_slices2Bit
bool packNeutral()
Pack neutral data.
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_tobsPerModule
static const uint32_t s_crateMask
static const uint32_t s_threshFwdLMask
static const uint32_t s_topoCountsMask
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.
int hitsError(int slice, int source, int flag) const
Return hit error for given source ID and HL flag.
static const int s_modules
static const int s_fifoOverflowBits
static const uint32_t s_hlFlagMask
static const int s_versionBit
int energySmall(int slice, int jem, int tob) const
Return energy small window size for given jem and tob.
std::vector< uint32_t > m_hitsData
Hits and topo data.
unsigned int parIndex(int slice, int jem) const
void packerNeutralParity(int pin)
Pack current G-Link parity bit for given pin.
static const int s_glinkTimeoutBit