DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
FrameConcepts.hpp File Reference
#include "detdataformats/DAQHeader.hpp"
#include "detdataformats/DAQEthHeader.hpp"
#include <concepts>
#include <cstdint>
Include dependency graph for FrameConcepts.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  dunedaq
 Including Qt Headers.
namespace  dunedaq::fddetdataformats

Concepts

concept  dunedaq::fddetdataformats::HasGetADC
concept  dunedaq::fddetdataformats::HasSetADC
concept  dunedaq::fddetdataformats::HasDAQHeader
concept  dunedaq::fddetdataformats::HasFrameHeader
concept  dunedaq::fddetdataformats::HasLessThan
concept  dunedaq::fddetdataformats::HasNoCompilerPadding
concept  dunedaq::fddetdataformats::HasGetTimestamp
concept  dunedaq::fddetdataformats::HasSetTimestamp
concept  dunedaq::fddetdataformats::AdaptableFrameConcept

Detailed Description

Contains declaration of various concepts to which a DAQ frame should adhere, including:

-Having getters and setters for timestamps

-Having an "<" operator implemented

-Having an s_expected_bytes static member which equals the sizeof of the frame, and which should be assigned a value which is simply the sum of the sizes of the members - this guards against compiler padding

-Satisfying std::is_trivially_copyable_v (for std::memcpy) and and std::is_standard_layout_v (members appear in memory in declaration order + offsetof can be used)

This is part of the DUNE DAQ Application Framework, copyright 2020. Licensing/copyright details are in the COPYING file that you should have received with this code.

Definition in file FrameConcepts.hpp.