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
#include "
daqdataformats/FragmentHeader.hpp
"
5
#include "
daqdataformats/SourceID.hpp
"
6
#include "
trgdataformats/TriggerPrimitive.hpp
"
7
#include "
trgdataformats/Types.hpp
"
8
9
#include <cstdint>
// uint_t types
10
#include <cstring>
// memcpy
11
#include <memory>
// unique_ptr
12
#include <tuple>
// tie
13
#include <vector>
14
15
namespace
dunedaq
{
16
namespace
trigger
{
17
18
const
constexpr
std::size_t
kTriggerPrimitiveSize
=
sizeof
(
trgdataformats::TriggerPrimitive
);
19
struct
TriggerPrimitiveTypeAdapter
20
{
21
using
FrameType
=
TriggerPrimitiveTypeAdapter
;
22
// data
23
trgdataformats::TriggerPrimitive
tp
;
24
// comparable based on start timestamp
25
bool
operator<
(
const
TriggerPrimitiveTypeAdapter
& other)
const
26
{
27
return
std::tie(this->tp.
time_start
, this->tp.channel) < std::tie(other.
tp
.
time_start
, other.
tp
.
channel
);
28
}
29
30
uint64_t
get_timestamp
() const
// NOLINT(build/unsigned)
31
{
32
return
tp
.
time_start
;
33
}
34
35
void
set_timestamp
(uint64_t ts)
// NOLINT(build/unsigned)
36
{
37
tp
.
time_start
= ts;
38
}
39
40
void
fake_timestamps
(uint64_t first_timestamp, uint64_t
/*offset */
= 0)
// NOLINT(build/unsigned)
41
{
42
tp
.
time_start
= first_timestamp;
43
}
44
45
void
fake_geoid
(uint16_t
/*crate_id*/
, uint16_t
/*slot_id*/
, uint16_t
/*link_id*/
) {}
46
47
void
fake_adc_pattern
(
int
/*channel*/
) {}
48
49
FrameType
*
begin
() {
return
this
; }
50
51
FrameType
*
end
() {
return
(
this
+ 1); }
// NOLINT
52
53
size_t
get_payload_size
() {
return
kTriggerPrimitiveSize
; }
54
55
size_t
get_num_frames
() {
return
1; }
56
57
size_t
get_frame_size
() {
return
kTriggerPrimitiveSize
; }
58
59
static
const
constexpr
daqdataformats::SourceID::Subsystem
subsystem
=
daqdataformats::SourceID::Subsystem::kTrigger
;
60
static
const
constexpr
daqdataformats::FragmentType
fragment_type
=
daqdataformats::FragmentType::kTriggerPrimitive
;
61
static
const
constexpr
uint64_t
expected_tick_difference
= 1;
// NOLINT(build/unsigned)
62
};
63
64
static_assert
(
sizeof
(
trgdataformats::TriggerPrimitive
) ==
kTriggerPrimitiveSize
,
65
"Check your assumptions on TriggerPrimitiveTypeAdapter"
);
66
67
}
// namespace trigger
68
}
// namespace dunedaq
69
70
#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:18
dunedaq
The DUNE-DAQ namespace.
Definition
cib_utilities.cpp:5
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:32
dunedaq::trgdataformats::TriggerPrimitive::channel
uint64_t channel
Definition
TriggerPrimitive.hpp:46
dunedaq::trgdataformats::TriggerPrimitive::time_start
uint64_t time_start
Definition
TriggerPrimitive.hpp:49
dunedaq::trigger::TriggerPrimitiveTypeAdapter
Definition
TriggerPrimitiveTypeAdapter.hpp:20
dunedaq::trigger::TriggerPrimitiveTypeAdapter::fragment_type
static const constexpr daqdataformats::FragmentType fragment_type
Definition
TriggerPrimitiveTypeAdapter.hpp:60
dunedaq::trigger::TriggerPrimitiveTypeAdapter::FrameType
TriggerPrimitiveTypeAdapter FrameType
Definition
TriggerPrimitiveTypeAdapter.hpp:21
dunedaq::trigger::TriggerPrimitiveTypeAdapter::subsystem
static const constexpr daqdataformats::SourceID::Subsystem subsystem
Definition
TriggerPrimitiveTypeAdapter.hpp:59
dunedaq::trigger::TriggerPrimitiveTypeAdapter::expected_tick_difference
static const constexpr uint64_t expected_tick_difference
Definition
TriggerPrimitiveTypeAdapter.hpp:61
dunedaq::trigger::TriggerPrimitiveTypeAdapter::begin
FrameType * begin()
Definition
TriggerPrimitiveTypeAdapter.hpp:49
dunedaq::trigger::TriggerPrimitiveTypeAdapter::operator<
bool operator<(const TriggerPrimitiveTypeAdapter &other) const
Definition
TriggerPrimitiveTypeAdapter.hpp:25
dunedaq::trigger::TriggerPrimitiveTypeAdapter::get_num_frames
size_t get_num_frames()
Definition
TriggerPrimitiveTypeAdapter.hpp:55
dunedaq::trigger::TriggerPrimitiveTypeAdapter::get_frame_size
size_t get_frame_size()
Definition
TriggerPrimitiveTypeAdapter.hpp:57
dunedaq::trigger::TriggerPrimitiveTypeAdapter::fake_timestamps
void fake_timestamps(uint64_t first_timestamp, uint64_t=0)
Definition
TriggerPrimitiveTypeAdapter.hpp:40
dunedaq::trigger::TriggerPrimitiveTypeAdapter::fake_adc_pattern
void fake_adc_pattern(int)
Definition
TriggerPrimitiveTypeAdapter.hpp:47
dunedaq::trigger::TriggerPrimitiveTypeAdapter::set_timestamp
void set_timestamp(uint64_t ts)
Definition
TriggerPrimitiveTypeAdapter.hpp:35
dunedaq::trigger::TriggerPrimitiveTypeAdapter::get_timestamp
uint64_t get_timestamp() const
Definition
TriggerPrimitiveTypeAdapter.hpp:30
dunedaq::trigger::TriggerPrimitiveTypeAdapter::get_payload_size
size_t get_payload_size()
Definition
TriggerPrimitiveTypeAdapter.hpp:53
dunedaq::trigger::TriggerPrimitiveTypeAdapter::end
FrameType * end()
Definition
TriggerPrimitiveTypeAdapter.hpp:51
dunedaq::trigger::TriggerPrimitiveTypeAdapter::tp
trgdataformats::TriggerPrimitive tp
Definition
TriggerPrimitiveTypeAdapter.hpp:23
dunedaq::trigger::TriggerPrimitiveTypeAdapter::fake_geoid
void fake_geoid(uint16_t, uint16_t, uint16_t)
Definition
TriggerPrimitiveTypeAdapter.hpp:45
TriggerPrimitive.hpp
Types.hpp
Generated on
for DUNE-DAQ by
1.18.0