pflib v3.9.0-rc3-11-g2537d8f
Pretty Fine HGCROC Interaction Library
Loading...
Searching...
No Matches
TriggerLinkFrame.h
1#pragma once
2
3#include <cstdint>
4#include <span>
5
6#include "pflib/logging/Logging.h"
7
8namespace pflib::packing {
9
42 static uint32_t compressed_to_linearized(uint8_t cs);
43
45 static const int i_soi_ = 1;
46
48 int i_link;
49
57
70
78 uint8_t compressed_sum(int i_sum, int i_bx = 0) const;
79
92 uint32_t linearized_sum(int i_sum, int i_bx = 0) const;
93
97 void from(std::span<uint32_t> data);
98
107 TriggerLinkFrame(std::span<uint32_t> data);
108
110 TriggerLinkFrame() = default;
111
114};
115
116} // namespace pflib::packing
boost::log::sources::severity_channel_logger_mt< level, std::string > logger
our logger type
Definition Logging.h:39
logger get(const std::string &name)
Gets a logger with the input name for its channel.
Definition Logging.cxx:24
Without a trigger link set up, the decoding cannot be fuctionally tested.
Definition TriggerLinkFrame.h:16
std::array< uint32_t, 4 > data_words
Trigger words including one pre-sample and 2 following samples.
Definition TriggerLinkFrame.h:56
static uint32_t compressed_to_linearized(uint8_t cs)
Convert a compressed trigger sum into its linearized equivalent.
Definition TriggerLinkFrame.cxx:10
TriggerLinkFrame()=default
default constructor which does nothing
uint32_t linearized_sum(int i_sum, int i_bx=0) const
Get a specific linearized trigger sum from the data words.
Definition TriggerLinkFrame.cxx:60
std::array< bool, 5 > corruption
Checks on data format.
Definition TriggerLinkFrame.h:69
static const int i_soi_
index of data words containg sample of interest
Definition TriggerLinkFrame.h:45
logging::logger the_log_
handle to logging for decoding warnings
Definition TriggerLinkFrame.h:113
uint8_t compressed_sum(int i_sum, int i_bx=0) const
Get a specific compressed trigger sum from the data words.
Definition TriggerLinkFrame.cxx:45
int i_link
trigger link identification number
Definition TriggerLinkFrame.h:48
void from(std::span< uint32_t > data)
Parse into this link frame from a std::span over 32-bit words.
Definition TriggerLinkFrame.cxx:20