LDMX Software
packing::ECONDLinkSubpacket Struct Reference

Data from a single eRx ("link") sub-packet of an ECON-D event packet. More...

#include <ECONDEventPacket.h>

Public Member Functions

bool badStat () const
 any of the three Stat bits are bad (not 1)
 

Public Attributes

uint32_t stat_ {0}
 3-bit Stat field (HT, EBO, CRC match), all ones is good
 
uint32_t hamming_ {0}
 3-bit Hamming code of the sub-packet header
 
bool is_empty_ {false}
 F flag: sub-packet is a single header word without channel data.
 
bool error_caused_empty_ {false}
 E flag of an empty sub-packet: suppressed due to unmasked Stat errors.
 
int adc_cm0_ {0}
 ADC readout of common mode 0.
 
int adc_cm1_ {0}
 ADC readout of common mode 1.
 
uint64_t channel_map_ {0}
 37-bit channel map (bit 18 is the calibration channel)
 
std::array< uint32_t, 36 > channels_ {}
 sample words of the 36 normal channels
 
uint32_t calib_ {0}
 sample word of the calibration channel
 

Detailed Description

Data from a single eRx ("link") sub-packet of an ECON-D event packet.

The channel words are stored in the HGCROC 32-bit sample format (the same format that ldmx::HgcrocDigiCollection::Sample decodes). In pass through mode they are copied from the link untouched, otherwise they are rebuilt from the zero-suppressed measurements with suppressed measurements set to zero.

Definition at line 22 of file ECONDEventPacket.h.

Member Function Documentation

◆ badStat()

bool packing::ECONDLinkSubpacket::badStat ( ) const
inline

any of the three Stat bits are bad (not 1)

Definition at line 43 of file ECONDEventPacket.h.

43{ return stat_ != 0b111; }
uint32_t stat_
3-bit Stat field (HT, EBO, CRC match), all ones is good

References stat_.

Referenced by packing::ECONDEventPacket::unpackLinkSubpacket().

Member Data Documentation

◆ adc_cm0_

int packing::ECONDLinkSubpacket::adc_cm0_ {0}

ADC readout of common mode 0.

Definition at line 32 of file ECONDEventPacket.h.

32{0};

Referenced by packing::ECONDEventPacket::unpackLinkSubpacket().

◆ adc_cm1_

int packing::ECONDLinkSubpacket::adc_cm1_ {0}

ADC readout of common mode 1.

Definition at line 34 of file ECONDEventPacket.h.

34{0};

Referenced by packing::ECONDEventPacket::unpackLinkSubpacket().

◆ calib_

uint32_t packing::ECONDLinkSubpacket::calib_ {0}

sample word of the calibration channel

Definition at line 40 of file ECONDEventPacket.h.

40{0};

Referenced by packing::ECONDEventPacket::unpackLinkSubpacket().

◆ channel_map_

uint64_t packing::ECONDLinkSubpacket::channel_map_ {0}

37-bit channel map (bit 18 is the calibration channel)

Definition at line 36 of file ECONDEventPacket.h.

36{0};

Referenced by packing::ECONDEventPacket::unpackLinkSubpacket().

◆ channels_

std::array<uint32_t, 36> packing::ECONDLinkSubpacket::channels_ {}

sample words of the 36 normal channels

Definition at line 38 of file ECONDEventPacket.h.

38{};

Referenced by packing::ECONDEventPacket::unpackLinkSubpacket().

◆ error_caused_empty_

bool packing::ECONDLinkSubpacket::error_caused_empty_ {false}

E flag of an empty sub-packet: suppressed due to unmasked Stat errors.

Definition at line 30 of file ECONDEventPacket.h.

30{false};

Referenced by packing::ECONDEventPacket::unpackLinkSubpacket().

◆ hamming_

uint32_t packing::ECONDLinkSubpacket::hamming_ {0}

3-bit Hamming code of the sub-packet header

Definition at line 26 of file ECONDEventPacket.h.

26{0};

Referenced by packing::ECONDEventPacket::unpackLinkSubpacket().

◆ is_empty_

bool packing::ECONDLinkSubpacket::is_empty_ {false}

F flag: sub-packet is a single header word without channel data.

Definition at line 28 of file ECONDEventPacket.h.

28{false};

Referenced by packing::ECONDEventPacket::unpackLinkSubpacket().

◆ stat_

uint32_t packing::ECONDLinkSubpacket::stat_ {0}

3-bit Stat field (HT, EBO, CRC match), all ones is good

Definition at line 24 of file ECONDEventPacket.h.

24{0};

Referenced by badStat(), and packing::ECONDEventPacket::unpackLinkSubpacket().


The documentation for this struct was generated from the following file: