pflib v3.9.0-rc3-11-g2537d8f
Pretty Fine HGCROC Interaction Library
Loading...
Searching...
No Matches
pflib::packing::MultiSampleECONDEventPacket Class Reference

Unpack an event that has potentially more than one sample collected from a single ECOND. More...

#include <MultiSampleECONDEventPacket.h>

Collaboration diagram for pflib::packing::MultiSampleECONDEventPacket:
[legend]

Public Member Functions

 MultiSampleECONDEventPacket (int n_links)
 constructor defining how many links are connected to this ECOND
 
void from (std::span< uint32_t > data)
 unpack the given data into this structure
 
Readerread (Reader &r)
 read into this structure from the input Reader
 

Public Attributes

std::array< bool, 2 > corruption
 Corruption bits.
 
std::size_t i_soi
 index of the sample of interest (SOI)
 
int bx
 bunch counter/number for event
 
int ievent
 event counter
 
int contrib_id
 contributor ID specifying ECOND
 
int subsys_id
 subsystem ID specifying ECOND
 
int run
 run number
 
std::vector< ECONDEventPacketsamples
 samples from ECOND stored in order of transmission
 

Private Attributes

mutable::pflib::logging::logger the_log_ {::pflib::logging::get("decoding")}
 handle to logging source
 
int n_links_
 number of links connected to the ECOND
 

Detailed Description

Unpack an event that has potentially more than one sample collected from a single ECOND.

See also
ECONDEventPacket for how a single sample from a single ECOND is unpacked.
Note
This unpacking is not well tested and may change depending on how the firmware/software progresses. The current draft was written using TargetFiberless::read_event as a reference. A second draft SoftWrappedECONDEventPacket was written using the HcalBackplaneZCUTarget::read_event as reference.

Member Function Documentation

◆ from()

void pflib::packing::MultiSampleECONDEventPacket::from ( std::span< uint32_t > data)

unpack the given data into this structure

The software emulation adds another header before the ECOND packet, which looks like

4b flag | 12b ECON ID | L | 3b il1a | I | 11b length

  • flag is hardcoded to 0b0001 right now in software
  • ECOND ID is what it was configured in the software to be
  • L signals if this is the last sample (1) or not (0)
  • il1a is the index of the sample relative to this event
  • I signals if this is the sample of interest (1) or not (0)
  • length is the total length of this link subpacket including this header word

Member Data Documentation

◆ corruption

std::array<bool, 2> pflib::packing::MultiSampleECONDEventPacket::corruption

Corruption bits.

Index Description
0 full packet header flag mismatch
1 subsystem ID not equal to 7 (HCAL)

The documentation for this class was generated from the following files: