Go to the documentation of this file. 1 #ifndef EventFilter_L1TRawToDigi_Block_h
2 #define EventFilter_L1TRawToDigi_Block_h
75 const std::vector<uint32_t>&
payload,
76 unsigned int capID = 0,
77 unsigned int flags = 0,
112 virtual std::unique_ptr<Block>
getBlock();
135 std::unique_ptr<Block>
getBlock()
override;
168 int count(
unsigned int pattern,
unsigned int length)
const;
177 std::unique_ptr<Block>
getBlock()
override;
RPC Data Record : block->header().getID() = 4.
std::vector< Block > Blocks
ME0 Data Record : block->header().getID() = 6.
unsigned getHeaderSize() const override
void amc(const amc::Header &h)
virtual unsigned getInfrastructureFWVersion() const
MTF7Payload(const uint32_t *data, const uint32_t *end)
static constexpr unsigned ME0_MAX_PER_BX
TODO: Maximum number of ME0 words per MTF7 payload per bx: ?? ME0 links, ?? layers,...
static constexpr unsigned PAYLOAD_MAX_SIZE
Maximum number of 64-bit words in the EMTF payload.
MP7Payload(const uint32_t *data, const uint32_t *end, bool legacy_mc=false)
Block of Counters : block->header().getID() = 2.
static constexpr unsigned GE21_MAX_PER_BX
TODO: Maximum number of GE2/1 words per MTF7 payload per bx: ?? GE2/1 links, 2 layers,...
unsigned getHeaderSize() const override
static constexpr unsigned trailer_size
static const std::vector< unsigned int > block_patterns_
bit patterns of the first bits (of 16bit words)
virtual std::unique_ptr< Block > getBlock()
Payload(const uint32_t *data, const uint32_t *end)
BlockHeader getHeader() override
static constexpr unsigned counter_size
std::unique_ptr< Block > getBlock() override
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
static constexpr unsigned size_mask
Block(const BlockHeader &h, const uint32_t *payload_start, const uint32_t *payload_end)
virtual BlockHeader getHeader()=0
static constexpr unsigned ME_MAX_PER_BX
Maximum number of CSC words per MTF7 payload per bx: 9 links/sectors, 6 stations, 2 LCTs.
virtual unsigned getHeaderSize() const =0
static constexpr unsigned DAQ_PAYLOAD_OFFSET
Start of the EMTF DAQ payload, in number of 64-bit words.
int count(unsigned int pattern, unsigned int length) const
GEM Data Record : block->header().getID() = 7.
std::unique_ptr< Block > getBlock() override
static constexpr unsigned max_block_length_
maximum of the block length (64bits)
BlockHeader getHeader() override
unsigned getHeaderSize() const override
bool valid(unsigned int pattern) const
static constexpr unsigned MAX_BX_PER_PAYLOAD
Maximum number of BX per MTF7 payload.
const std::vector< uint32_t > & payload() const
static constexpr unsigned RPC_MAX_PER_BX
Maximum number of RPC words per MTF7 payload per bx: 7 links/sectors, 6 stations, 2 segments.
static constexpr unsigned size_shift
Block(unsigned int id, const std::vector< uint32_t > &payload, unsigned int capID=0, unsigned int flags=0, block_t type=MP7)
BxBlocks getBxBlocks(unsigned int payloadWordsPerBx, bool bxHeader) const
static constexpr unsigned header_size
BlockHeader getHeader() override
char data[epos_bytes_allocation]
static constexpr unsigned GE11_MAX_PER_BX
Maximum number of GE1/1 words per MTF7 payload per bx: 7 GE1/1 links, 2 layers, 8 clusters.
SP Output Data Record : block->header().getID() = 101.
std::vector< uint32_t > payload_
CTP7Payload(const uint32_t *data, const uint32_t *end, amc::Header amcHeader)
unsigned int getSize() const
Event Record Header : block->header().getID() = 511.
BlockHeader header() const
bool operator<(const Block &o) const
static constexpr unsigned SP_MAX_PER_BX
Maximum number of SPz words per MTF7 payload per bx: 3 tracks, 2 words per track.
Event Record Trailer : block->header().getID() = 255.
virtual unsigned getAlgorithmFWVersion() const
std::vector< BxBlock > BxBlocks