LDMX Software
Packing
include
Packing
DAQSampleHeader.h
1
#ifndef PACKING_DAQSAMPLEHEADER_H
2
#define PACKING_DAQSAMPLEHEADER_H
3
4
#include <cstdint>
5
#include <ostream>
6
7
namespace
packing {
8
31
struct
DAQSampleHeader
{
33
uint32_t
version_
{0};
35
uint32_t
econd_id_
{0};
37
uint32_t
i_l1a_
{0};
39
bool
is_soi_
{
false
};
41
uint32_t
econd_len_
{0};
42
44
static
const
uint32_t
VERSION
{1};
45
47
void
from
(uint32_t word);
48
50
uint32_t
to
()
const
;
51
59
static
bool
isValid
(uint32_t word);
60
67
bool
isEndingTrailer
()
const
;
68
70
static
uint32_t
trailerNumSamples
(uint32_t word);
71
73
static
uint32_t
endingTrailer
(uint32_t n_samples = 0);
74
76
friend
std::ostream&
operator<<
(std::ostream& o,
const
DAQSampleHeader
& h);
77
};
78
79
}
// namespace packing
80
81
#endif
// PACKING_DAQSAMPLEHEADER_H
packing::DAQSampleHeader
The capture header that the DAQ firmware inserts before each ECON-D event packet (one per sample) and...
Definition
DAQSampleHeader.h:31
packing::DAQSampleHeader::version_
uint32_t version_
format version
Definition
DAQSampleHeader.h:33
packing::DAQSampleHeader::is_soi_
bool is_soi_
is this the sample of interest?
Definition
DAQSampleHeader.h:39
packing::DAQSampleHeader::isEndingTrailer
bool isEndingTrailer() const
A special form of this DAQ header is used to signal the end of a multi-sample sequence.
Definition
DAQSampleHeader.cxx:30
packing::DAQSampleHeader::operator<<
friend std::ostream & operator<<(std::ostream &o, const DAQSampleHeader &h)
output stream operator to make logging easier
Definition
DAQSampleHeader.cxx:47
packing::DAQSampleHeader::i_l1a_
uint32_t i_l1a_
index of this sample within the event
Definition
DAQSampleHeader.h:37
packing::DAQSampleHeader::from
void from(uint32_t word)
decode a DAQSampleHeader from the input word
Definition
DAQSampleHeader.cxx:9
packing::DAQSampleHeader::endingTrailer
static uint32_t endingTrailer(uint32_t n_samples=0)
construct the special trailer form of this header
Definition
DAQSampleHeader.cxx:38
packing::DAQSampleHeader::econd_id_
uint32_t econd_id_
configured ID of the ECON
Definition
DAQSampleHeader.h:35
packing::DAQSampleHeader::VERSION
static const uint32_t VERSION
expected format version
Definition
DAQSampleHeader.h:44
packing::DAQSampleHeader::to
uint32_t to() const
construct a header word from our data
Definition
DAQSampleHeader.cxx:17
packing::DAQSampleHeader::econd_len_
uint32_t econd_len_
length of the ECON-D packet following this header in 32b words
Definition
DAQSampleHeader.h:41
packing::DAQSampleHeader::isValid
static bool isValid(uint32_t word)
check if the decoded word looks like a capture header
Definition
DAQSampleHeader.cxx:23
packing::DAQSampleHeader::trailerNumSamples
static uint32_t trailerNumSamples(uint32_t word)
number of samples written in the ending trailer
Definition
DAQSampleHeader.cxx:34
Generated by
1.12.0