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

A frame readout from a DAQ Link. More...

#include <DAQLinkFrame.h>

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

Public Member Functions

void from (std::span< uint32_t > data)
 Parse into this link frame from a std::span over 32-bit words.
 
 DAQLinkFrame (std::span< uint32_t > data)
 Construct from a std::span over 32-bit words.
 
 DAQLinkFrame ()=default
 default constructor that does not do anything
 

Public Attributes

int bx
 id number for bunch crossing of this sample
 
int event
 event number for this readout-request
 
int orbit
 orbit id number
 
int adc_cm0
 adc readout from common mode 0
 
int adc_cm1
 adc readout from common mode 1
 
std::array< bool, 7 > corruption
 Corruption checks on the data.
 
std::array< Sample, 36 > channels
 array of samples from the channels
 
Sample calib
 sample from calibration channel
 

Private Attributes

mutable::pflib::logging::logger the_log_ {::pflib::logging::get("decoding")}
 

Detailed Description

A frame readout from a DAQ Link.

The header and common mode words are unpacked into memory while the DAQ and Calibration samples are given to Sample to be unpacked only upon request.

Constructor & Destructor Documentation

◆ DAQLinkFrame()

pflib::packing::DAQLinkFrame::DAQLinkFrame ( std::span< uint32_t > data)

Construct from a std::span over 32-bit words.

Note
A std::span can be transparently constructed from a std::vector if that is what is available, but it can also be used to simply view a subslice of a larger std::vector.

Member Data Documentation

◆ corruption

std::array<bool, 7> pflib::packing::DAQLinkFrame::corruption

Corruption checks on the data.

Index Description
0 header leading four bits are wrong
1 CRC does not match
2 error present in one of the counters
3 error present in first quarter (ch0-17 and cm)
4 error present in second quarter (calib and ch18-35)
5 header trailing four bits are wrong
6 common mode leading 12 bits are wrong

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