DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
trigger
include
trigger
TriggerPrimitiveTypeAdapter.hpp
Go to the documentation of this file.
1
#ifndef TRIGGER_INCLUDE_TRIGGER_TRIGGERPRIMITIVETYPEADAPTER_HPP_
2
#define TRIGGER_INCLUDE_TRIGGER_TRIGGERPRIMITIVETYPEADAPTER_HPP_
3
4
5
#include "
daqdataformats/FragmentHeader.hpp
"
6
#include "
daqdataformats/SourceID.hpp
"
7
#include "
trgdataformats/TriggerPrimitive.hpp
"
8
#include "
trgdataformats/Types.hpp
"
9
10
#include <cstdint>
// uint_t types
11
#include <memory>
// unique_ptr
12
#include <vector>
13
#include <cstring>
// memcpy
14
#include <tuple>
// tie
15
16
namespace
dunedaq
{
17
namespace
trigger
{
18
19
const
constexpr
std::size_t
kTriggerPrimitiveSize
=
sizeof
(
trgdataformats::TriggerPrimitive
);
20
struct
TriggerPrimitiveTypeAdapter
21
{
22
using
FrameType
=
TriggerPrimitiveTypeAdapter
;
23
// data
24
trgdataformats::TriggerPrimitive
tp
;
25
// comparable based on start timestamp
26
bool
operator<
(
const
TriggerPrimitiveTypeAdapter
& other)
const
27
{
28
return
std::tie(this->tp.
time_start
, this->tp.channel) < std::tie(other.
tp
.
time_start
, other.
tp
.
channel
);
29
}
30
31
uint64_t
get_timestamp
() const
// NOLINT(build/unsigned)
32
{
33
return
tp
.time_start;
34
}
35
36
void
set_timestamp
(uint64_t ts)
// NOLINT(build/unsigned)
37
{
38
tp
.time_start = ts;
39
}
40
41
void
fake_timestamps
(uint64_t first_timestamp, uint64_t
/*offset */
= 0)
// NOLINT(build/unsigned)
42
{
43
tp
.time_start = first_timestamp;
44
}
45
46
void
fake_geoid
(uint16_t
/*crate_id*/
, uint16_t
/*slot_id*/
, uint16_t
/*link_id*/
) {}
47
48
void
fake_adc_pattern
(
int
/*channel*/
) {}
49
50
FrameType
*
begin
() {
return
this
; }
51
52
FrameType
*
end
() {
return
(
this
+ 1); }
// NOLINT
53
54
size_t
get_payload_size
() {
return
kTriggerPrimitiveSize
; }
55
56
size_t
get_num_frames
() {
return
1; }
57
58
size_t
get_frame_size
() {
return
kTriggerPrimitiveSize
; }
59
60
static
const
constexpr
daqdataformats::SourceID::Subsystem
subsystem
=
daqdataformats::SourceID::Subsystem::kTrigger
;
61
static
const
constexpr
daqdataformats::FragmentType
fragment_type
=
daqdataformats::FragmentType::kTriggerPrimitive
;
62
static
const
constexpr
uint64_t
expected_tick_difference
= 1;
// NOLINT(build/unsigned)
63
};
64
65
static_assert
(
sizeof
(
trgdataformats::TriggerPrimitive
) ==
kTriggerPrimitiveSize
,
66
"Check your assumptions on TriggerPrimitiveTypeAdapter"
);
67
68
}
// namespace trigger
69
}
// namespace dunedaq
70
71
#endif
// TRIGGER_INCLUDE_TRIGGER_TRIGGERPRIMITIVETYPEADAPTER_HPP_
FragmentHeader.hpp
SourceID.hpp
dunedaq::daqdataformats::FragmentType
FragmentType
All defined Fragment types.
Definition
FragmentHeader.hpp:114
dunedaq::daqdataformats::FragmentType::kTriggerPrimitive
@ kTriggerPrimitive
Trigger format TPs produced by trigger code.
Definition
FragmentHeader.hpp:131
dunedaq::trigger
Definition
AlgorithmPlugins.hpp:24
dunedaq::trigger::kTriggerPrimitiveSize
const constexpr std::size_t kTriggerPrimitiveSize
Definition
TriggerPrimitiveTypeAdapter.hpp:19
dunedaq
Including Qt Headers.
Definition
module.cpp:16
dunedaq::daqdataformats::SourceID::Subsystem
Subsystem
The Subsystem enum describes the kind of source we're dealing with.
Definition
SourceID.hpp:40
dunedaq::daqdataformats::SourceID::Subsystem::kTrigger
@ kTrigger
Definition
SourceID.hpp:44
dunedaq::trgdataformats::TriggerPrimitive
A single energy deposition on a TPC or PDS channel.
Definition
TriggerPrimitive.hpp:27
dunedaq::trgdataformats::TriggerPrimitive::channel
uint64_t channel
Definition
TriggerPrimitive.hpp:36
dunedaq::trgdataformats::TriggerPrimitive::time_start
uint64_t time_start
Definition
TriggerPrimitive.hpp:39
dunedaq::trigger::TriggerPrimitiveTypeAdapter
Definition
TriggerPrimitiveTypeAdapter.hpp:21
dunedaq::trigger::TriggerPrimitiveTypeAdapter::fragment_type
static const constexpr daqdataformats::FragmentType fragment_type
Definition
TriggerPrimitiveTypeAdapter.hpp:61
dunedaq::trigger::TriggerPrimitiveTypeAdapter::FrameType
TriggerPrimitiveTypeAdapter FrameType
Definition
TriggerPrimitiveTypeAdapter.hpp:22
dunedaq::trigger::TriggerPrimitiveTypeAdapter::subsystem
static const constexpr daqdataformats::SourceID::Subsystem subsystem
Definition
TriggerPrimitiveTypeAdapter.hpp:60
dunedaq::trigger::TriggerPrimitiveTypeAdapter::expected_tick_difference
static const constexpr uint64_t expected_tick_difference
Definition
TriggerPrimitiveTypeAdapter.hpp:62
dunedaq::trigger::TriggerPrimitiveTypeAdapter::begin
FrameType * begin()
Definition
TriggerPrimitiveTypeAdapter.hpp:50
dunedaq::trigger::TriggerPrimitiveTypeAdapter::operator<
bool operator<(const TriggerPrimitiveTypeAdapter &other) const
Definition
TriggerPrimitiveTypeAdapter.hpp:26
dunedaq::trigger::TriggerPrimitiveTypeAdapter::get_num_frames
size_t get_num_frames()
Definition
TriggerPrimitiveTypeAdapter.hpp:56
dunedaq::trigger::TriggerPrimitiveTypeAdapter::get_frame_size
size_t get_frame_size()
Definition
TriggerPrimitiveTypeAdapter.hpp:58
dunedaq::trigger::TriggerPrimitiveTypeAdapter::fake_timestamps
void fake_timestamps(uint64_t first_timestamp, uint64_t=0)
Definition
TriggerPrimitiveTypeAdapter.hpp:41
dunedaq::trigger::TriggerPrimitiveTypeAdapter::fake_adc_pattern
void fake_adc_pattern(int)
Definition
TriggerPrimitiveTypeAdapter.hpp:48
dunedaq::trigger::TriggerPrimitiveTypeAdapter::set_timestamp
void set_timestamp(uint64_t ts)
Definition
TriggerPrimitiveTypeAdapter.hpp:36
dunedaq::trigger::TriggerPrimitiveTypeAdapter::get_timestamp
uint64_t get_timestamp() const
Definition
TriggerPrimitiveTypeAdapter.hpp:31
dunedaq::trigger::TriggerPrimitiveTypeAdapter::get_payload_size
size_t get_payload_size()
Definition
TriggerPrimitiveTypeAdapter.hpp:54
dunedaq::trigger::TriggerPrimitiveTypeAdapter::end
FrameType * end()
Definition
TriggerPrimitiveTypeAdapter.hpp:52
dunedaq::trigger::TriggerPrimitiveTypeAdapter::tp
trgdataformats::TriggerPrimitive tp
Definition
TriggerPrimitiveTypeAdapter.hpp:24
dunedaq::trigger::TriggerPrimitiveTypeAdapter::fake_geoid
void fake_geoid(uint16_t, uint16_t, uint16_t)
Definition
TriggerPrimitiveTypeAdapter.hpp:46
TriggerPrimitive.hpp
Types.hpp
Generated on
for DUNE-DAQ by
1.17.0