DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
DAQEthHeader.hpp
Go to the documentation of this file.
1
10#ifndef DETDATAFORMATS_INCLUDE_DETDATAFORMATS_DAQETHHEADER_HPP_
11#define DETDATAFORMATS_INCLUDE_DETDATAFORMATS_DAQETHHEADER_HPP_
12
13#include <cstdint>
14#include <ostream>
15
17
22{
23 using word_t = uint64_t; // NOLINT(build/unsigned)
24
25 word_t version : 6, det_id : 6, crate_id : 10, slot_id : 4, stream_id : 8, reserved : 6, seq_id : 12, block_length : 12;
27
28 uint64_t get_timestamp() const // NOLINT(build/unsigned)
29 {
30 return uint64_t(timestamp); // NOLINT(build/unsigned)
31 }
32};
33
34inline std::ostream&
35operator<<(std::ostream& o, DAQEthHeader const& h)
36{
37 return o << "Version:" << unsigned(h.version) << " DetID:" << unsigned(h.det_id) << " CrateID:" << unsigned(h.crate_id)
38 << " SlotID:" << unsigned(h.slot_id) << " StreamID:" << unsigned(h.stream_id)
39 << " SequenceID: " << unsigned(h.seq_id) << " Block length: " << unsigned(h.block_length)
40 << " Timestamp: " << h.get_timestamp() << '\n';
41}
42
43} // namespace dunedaq::detdataformats
44
45#endif // DETDATAFORMATS_INCLUDE_DETDATAFORMATS_DAQETHHEADER_HPP_
std::ostream & operator<<(std::ostream &o, DAQEthHeader const &h)
DAQEthHeader is a versioned and unified structure for every FE electronics.