|  | ATLAS Offline Software
    | 
 
 
 
Sub-Block class for JEM data.  
 More...
#include <JemSubBlock.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
 }
 | 
|  | 
|  | 
|  | JemSubBlock () | 
|  | 
|  | ~JemSubBlock () | 
|  | 
| void | clear () | 
|  | Clear all data.  More... 
 | 
|  | 
| void | setJemHeader (int version, int format, int slice, int crate, int module, int timeslices) | 
|  | Store JEM header.  More... 
 | 
|  | 
| void | fillJetElement (int slice, const JemJetElement &jetEle) | 
|  | Store jet element data.  More... 
 | 
|  | 
| void | setJetHits (int slice, unsigned int hits) | 
|  | Store jet hit counts.  More... 
 | 
|  | 
| void | setEnergySubsums (int slice, unsigned int ex, unsigned int ey, unsigned int et) | 
|  | Store energy subsum data.  More... 
 | 
|  | 
| JemJetElement | jetElement (int slice, int channel) const | 
|  | Return jet element for given channel.  More... 
 | 
|  | 
| unsigned int | jetHits (int slice) const | 
|  | Return jet hit counts.  More... 
 | 
|  | 
| unsigned int | ex (int slice) const | 
|  | Return energy subsum Ex.  More... 
 | 
|  | 
| unsigned int | ey (int slice) const | 
|  | Return energy subsum Ey.  More... 
 | 
|  | 
| unsigned int | et (int slice) const | 
|  | Return energy subsum Et.  More... 
 | 
|  | 
| int | timeslices () const | 
|  | Return number of timeslices.  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 JEM data. 
Based on "ATLAS Level-1 Calorimeter Trigger Read-out Driver" Version 1.06d
- Author
- Peter Faulkner 
Definition at line 25 of file JemSubBlock.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.
 
 
◆ JemSubBlock()
      
        
          | LVL1BS::JemSubBlock::JemSubBlock | ( |  | ) |  | 
      
 
 
◆ ~JemSubBlock()
      
        
          | LVL1BS::JemSubBlock::~JemSubBlock | ( |  | ) |  | 
      
 
 
◆ 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::JemSubBlock::clear | ( |  | ) |  | 
      
 
 
◆ crate()
  
  | 
        
          | int LVL1BS::L1CaloSubBlock::crate | ( |  | ) | const |  | inlineinherited | 
 
 
◆ currentPinBit()
  
  | 
        
          | int LVL1BS::L1CaloSubBlock::currentPinBit | ( | int | pin | ) | const |  | inlineinherited | 
 
 
◆ daqOverflow()
  
  | 
        
          | bool LVL1BS::L1CaloSubBlock::daqOverflow | ( |  | ) | const |  | inlineinherited | 
 
 
◆ dataId()
  
  | 
        
          | int LVL1BS::JemSubBlock::dataId | ( | uint32_t | word | ) | const |  | inlineprivate | 
 
 
◆ dataWords()
  
  | 
        
          | int LVL1BS::L1CaloSubBlock::dataWords | ( |  | ) | const |  | inlineinherited | 
 
 
◆ et()
      
        
          | unsigned int LVL1BS::JemSubBlock::et | ( | int | slice | ) | const | 
      
 
 
◆ ex()
      
        
          | unsigned int LVL1BS::JemSubBlock::ex | ( | int | slice | ) | const | 
      
 
 
◆ ey()
      
        
          | unsigned int LVL1BS::JemSubBlock::ey | ( | int | slice | ) | const | 
      
 
 
◆ failingBCN()
  
  | 
        
          | uint32_t LVL1BS::L1CaloSubBlock::failingBCN | ( |  | ) | const |  | inlineinherited | 
 
 
◆ fillJetElement()
◆ 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 | 
 
 
◆ index()
  
  | 
        
          | int LVL1BS::JemSubBlock::index | ( | int | slice | ) | const |  | private | 
 
 
◆ jetElement()
      
        
          | JemJetElement LVL1BS::JemSubBlock::jetElement | ( | int | slice, | 
        
          |  |  | int | channel | 
        
          |  | ) |  | const | 
      
 
Return jet element for given channel. 
Definition at line 129 of file JemSubBlock.cxx.
  136   return JemJetElement(je);
 
 
 
 
◆ jetHits()
      
        
          | unsigned int LVL1BS::JemSubBlock::jetHits | ( | int | slice | ) | const | 
      
 
 
◆ 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::JemSubBlock::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::JemSubBlock::packNeutral | ( |  | ) |  |  | private | 
 
 
◆ packUncompressed()
  
  | 
        
          | bool LVL1BS::JemSubBlock::packUncompressed | ( |  | ) |  |  | private | 
 
Pack uncompressed data. 
Definition at line 306 of file JemSubBlock.cxx.
  309   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::JemSubBlock::resize | ( | std::vector< uint32_t > & | vec, |  
          |  |  | int | channels = 1 |  
          |  | ) |  |  |  | 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.
 
 
◆ 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);
 
 
 
 
◆ setEnergySubsums()
      
        
          | void LVL1BS::JemSubBlock::setEnergySubsums | ( | int | slice, | 
        
          |  |  | unsigned int | ex, | 
        
          |  |  | unsigned int | ey, | 
        
          |  |  | unsigned int | et | 
        
          |  | ) |  |  | 
      
 
 
◆ 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 | 
 
 
◆ setJemHeader()
      
        
          | void LVL1BS::JemSubBlock::setJemHeader | ( | int | version, | 
        
          |  |  | int | format, | 
        
          |  |  | int | slice, | 
        
          |  |  | int | crate, | 
        
          |  |  | int | module, | 
        
          |  |  | int | timeslices | 
        
          |  | ) |  |  | 
      
 
 
◆ setJetHits()
      
        
          | void LVL1BS::JemSubBlock::setJetHits | ( | int | slice, | 
        
          |  |  | unsigned int | hits | 
        
          |  | ) |  |  | 
      
 
Store jet hit counts. 
Definition at line 93 of file JemSubBlock.cxx.
   97     const int sourceId = (jem == 0 || jem == 7 || jem == 8 || jem == 15)
 
 
 
 
◆ 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 | 
 
 
◆ sourceId()
  
  | 
        
          | int LVL1BS::JemSubBlock::sourceId | ( | uint32_t | word | ) | const |  | inlineprivate | 
 
 
◆ subStatus()
  
  | 
        
          | uint32_t LVL1BS::L1CaloSubBlock::subStatus | ( |  | ) | const |  | inlineinherited | 
 
 
◆ timeslices()
      
        
          | int LVL1BS::JemSubBlock::timeslices | ( |  | ) | const | 
      
 
 
◆ unpack()
      
        
          | bool LVL1BS::JemSubBlock::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::JemSubBlock::unpackNeutral | ( |  | ) |  |  | private | 
 
Unpack neutral data. 
Definition at line 325 of file JemSubBlock.cxx.
  341       const JemJetElement je(
channel, emData, hadData, emParity,
 
  342                                               hadParity, linkError);
 
 
 
 
◆ unpackUncompressed()
  
  | 
        
          | bool LVL1BS::JemSubBlock::unpackUncompressed | ( |  | ) |  |  | private | 
 
Unpack uncompressed data. 
Definition at line 370 of file JemSubBlock.cxx.
  378     const int id = 
dataId(word);
 
  382       const JemJetElement jetEle(word);
 
  383       const int channel = jetEle.channel();
 
 
 
 
◆ 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::JemSubBlock::m_channels |  | 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_energySubsums
  
  | 
        
          | std::vector<uint32_t> LVL1BS::JemSubBlock::m_energySubsums |  | private | 
 
 
◆ m_header
  
  | 
        
          | uint32_t LVL1BS::L1CaloSubBlock::m_header |  | privateinherited | 
 
 
◆ m_jeData
  
  | 
        
          | std::vector<uint32_t> LVL1BS::JemSubBlock::m_jeData |  | private | 
 
 
◆ m_jetHits
  
  | 
        
          | std::vector<uint32_t> LVL1BS::JemSubBlock::m_jetHits |  | 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_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::JemSubBlock::s_bunchCrossingBits = 12 |  | 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_dataIdBit
  
  | 
        
          | const int LVL1BS::JemSubBlock::s_dataIdBit = 30 |  | staticprivate | 
 
 
◆ s_dataIdMask
  
  | 
        
          | const uint32_t LVL1BS::JemSubBlock::s_dataIdMask = 0x3 |  | staticprivate | 
 
 
◆ s_energyBits
  
  | 
        
          | const int LVL1BS::JemSubBlock::s_energyBits = 8 |  | staticprivate | 
 
 
◆ s_etBit
  
  | 
        
          | const int LVL1BS::JemSubBlock::s_etBit = 16 |  | staticprivate | 
 
 
◆ s_etMask
  
  | 
        
          | const uint32_t LVL1BS::JemSubBlock::s_etMask = 0xff |  | staticprivate | 
 
 
◆ s_exBit
  
  | 
        
          | const int LVL1BS::JemSubBlock::s_exBit = 0 |  | staticprivate | 
 
 
◆ s_exMask
  
  | 
        
          | const uint32_t LVL1BS::JemSubBlock::s_exMask = 0xff |  | staticprivate | 
 
 
◆ s_eyBit
  
  | 
        
          | const int LVL1BS::JemSubBlock::s_eyBit = 8 |  | staticprivate | 
 
 
◆ s_eyMask
  
  | 
        
          | const uint32_t LVL1BS::JemSubBlock::s_eyMask = 0xff |  | 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_glinkBitsPerSlice
  
  | 
        
          | const int LVL1BS::JemSubBlock::s_glinkBitsPerSlice = 67 |  | 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_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_hitPaddingBits
  
  | 
        
          | const int LVL1BS::JemSubBlock::s_hitPaddingBits = 4 |  | staticprivate | 
 
 
◆ s_jePaddingBits
  
  | 
        
          | const int LVL1BS::JemSubBlock::s_jePaddingBits = 22 |  | staticprivate | 
 
 
◆ s_jetElementBits
  
  | 
        
          | const int LVL1BS::JemSubBlock::s_jetElementBits = 9 |  | staticprivate | 
 
 
◆ s_jetHitsBits
  
  | 
        
          | const int LVL1BS::JemSubBlock::s_jetHitsBits = 24 |  | staticprivate | 
 
 
◆ s_jetIndicator
  
  | 
        
          | const int LVL1BS::JemSubBlock::s_jetIndicator = 0x0 |  | staticprivate | 
 
 
◆ s_jetIndicatorBit
  
  | 
        
          | const int LVL1BS::JemSubBlock::s_jetIndicatorBit = 24 |  | staticprivate | 
 
 
◆ s_jeWordId
  
  | 
        
          | const int LVL1BS::JemSubBlock::s_jeWordId = 0x1 |  | staticprivate | 
 
 
◆ s_mainFwdThreshId
  
  | 
        
          | const int LVL1BS::JemSubBlock::s_mainFwdThreshId = 21 |  | staticprivate | 
 
 
◆ s_mainThreshId
  
  | 
        
          | const int LVL1BS::JemSubBlock::s_mainThreshId = 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_pairsPerPin
  
  | 
        
          | const int LVL1BS::JemSubBlock::s_pairsPerPin = 3 |  | 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_sourceIdBit
  
  | 
        
          | const int LVL1BS::JemSubBlock::s_sourceIdBit = 25 |  | staticprivate | 
 
 
◆ s_sourceIdMask
  
  | 
        
          | const uint32_t LVL1BS::JemSubBlock::s_sourceIdMask = 0x1f |  | 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_subsumId
  
  | 
        
          | const int LVL1BS::JemSubBlock::s_subsumId = 22 |  | staticprivate | 
 
 
◆ s_sumIndicator
  
  | 
        
          | const int LVL1BS::JemSubBlock::s_sumIndicator = 0x1 |  | staticprivate | 
 
 
◆ s_sumIndicatorBit
  
  | 
        
          | const int LVL1BS::JemSubBlock::s_sumIndicatorBit = 24 |  | staticprivate | 
 
 
◆ s_threshBit
  
  | 
        
          | const int LVL1BS::JemSubBlock::s_threshBit = 0 |  | staticprivate | 
 
 
◆ s_threshMask
  
  | 
        
          | const uint32_t LVL1BS::JemSubBlock::s_threshMask = 0xffffff |  | staticprivate | 
 
 
◆ s_threshWordId
  
  | 
        
          | const uint32_t LVL1BS::JemSubBlock::s_threshWordId = 0x2 |  | 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::JemSubBlock::s_wordIdVal = 0xc |  | staticprivate | 
 
 
◆ s_wordLength
  
  | 
        
          | const int LVL1BS::JemSubBlock::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)
bool packNeutral()
Pack neutral data.
static const int s_sumIndicator
static const uint32_t s_etMask
Extra patterns decribing particle interation process.
static const int s_moduleBit
static const int s_bcnMismatchBit
static const int s_daqOverflowBit
@ UNPACK_COMPRESSION_VERSION
void setEnergySubsums(int slice, unsigned int ex, unsigned int ey, unsigned int et)
Store energy subsum data.
static const int s_hitPaddingBits
void clear()
Clear all data.
JemJetElement jetElement(int slice, int channel) const
Return jet element for given channel.
static const uint32_t s_sourceIdMask
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 int s_mainFwdThreshId
static const int s_threshBit
std::vector< uint32_t >::const_iterator m_dataPosEnd
static const int s_jeWordId
static const int s_formatBit
static const int s_jetElementBits
unsigned int jetHits(int slice) const
Return jet hit counts.
bool packUncompressed()
Pack uncompressed data.
int timeslices() const
Return number of timeslices.
static const int s_glinkParityBit
static const uint32_t s_glinkDavSet
void unpackerInit()
Initialise unpacker.
static const int s_bunchCrossingBits
static const int s_glinkDownBit
int dataId(uint32_t word) const
static const uint32_t s_slices1Mask
static const uint32_t s_failingBcnMask
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 uint32_t s_slices2Mask
static const uint32_t s_statusVal
static const uint32_t s_dataIdMask
void packerFlush()
Flush the current data word padded with zeros.
int bunchCrossing() const
Return the Bunch Crossing number (neutral format only)
bool upstreamError() const
void resize(std::vector< uint32_t > &vec, int channels=1)
static const int s_sourceIdBit
static const int s_wordIdVal
JEM header word ID.
std::vector< uint32_t > m_jetHits
Jet hit counts.
static const uint32_t s_threshWordId
static const uint32_t s_seqnoMask
static const uint32_t s_moduleMask
const DataType * PointerType
static const int s_upstreamErrorBit
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
void setJetHits(int slice, unsigned int hits)
Store jet hit counts.
static const int s_statusBit
static const int s_ppmCrates
int index(int slice) const
std::vector< int > m_currentPinBit
int m_channels
Number of jet element channels.
bool unpackNeutral()
Unpack neutral data.
bool unpackerNeutralParityError(int pin)
Unpack and test G-Link parity bit for given pin.
int m_unpackError
Unpacking error code.
int m_bunchCrossing
Bunch Crossing number (neutral format only)
uint32_t unpacker(int nbits)
Unpack given number of bits of data.
std::vector< uint32_t > m_jeData
Jet element data.
static const uint32_t s_maxStreamedMask
static const int s_dataIdBit
static const uint32_t s_eyMask
static const int s_wordLength
Data word length.
bool glinkProtocol() const
static SubBlockWordType wordType(uint32_t word)
Word identification.
std::vector< int > m_oddParity
bool unpackUncompressed()
Unpack uncompressed data.
static const int s_glinkProtocolBit
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_jePaddingBits
uint32_t m_trailer
Sub-Block Status Trailer.
static const int s_seqnoBit
std::vector< uint32_t >::const_iterator m_dataPos
static const int s_jetHitsBits
static const int s_headerBit
uint32_t m_header
Sub-Block Header.
static const int s_maxPins
unsigned int et(int slice) const
Return energy subsum Et.
def init(v_theApp, v_rootStream=None)
static const uint32_t s_statusMask
static const int s_jetIndicatorBit
int sourceId(uint32_t word) const
std::vector< uint32_t > m_energySubsums
Energy subsum data.
static const int s_sumIndicatorBit
static const int s_maxStreamedBits
static const uint32_t s_headerMask
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
static const int s_crateBit
unsigned int ex(int slice) const
Return energy subsum Ex.
static const int s_jetIndicator
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
unsigned int ey(int slice) const
Return energy subsum Ey.
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
static const int s_glinkBitsPerSlice
static const int s_subsumId
static const int s_mainThreshId
static const int s_pairsPerPin
static const int s_versionBit
static const int s_energyBits
void fillJetElement(int slice, const JemJetElement &jetEle)
Store jet element data.
void packerNeutralParity(int pin)
Pack current G-Link parity bit for given pin.
static const uint32_t s_exMask
static const int s_glinkTimeoutBit