DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
trgdataformats
pybindsrc
trigger_candidate.cpp
Go to the documentation of this file.
1
8
9
#include "
trgdataformats/TriggerObjectOverlay.hpp
"
10
11
#include <pybind11/pybind11.h>
12
#include <pybind11/stl.h>
13
#include <cstring>
14
15
namespace
py = pybind11;
16
17
// NOLINTBEGIN(build/unsigned)
18
19
namespace
dunedaq
{
20
namespace
trgdataformats
{
21
namespace
python
{
22
23
/*
24
Doesn't work
25
*/
26
struct
TriggerCandidateHolder
{
27
28
29
TriggerCandidateHolder
(
void
*
ptr
,
size_t
size
) {
30
m_size
=
size
;
31
m_data
.reset(
new
uint8_t[
m_size
]);
32
std::memcpy(
m_data
.get(),
ptr
,
size
);
33
}
34
35
TriggerCandidate
*
ptr
() {
return
reinterpret_cast<
TriggerCandidate
*
>
(
m_data
.get()); }
36
37
size_t
m_size
;
38
std::unique_ptr<uint8_t[]>
m_data
;
39
40
};
41
42
void
43
register_trigger_candidate
(py::module& m)
44
{
45
46
m.def(
"string_to_trigger_candidate_type"
, &
trgdataformats::string_to_trigger_candidate_type
);
47
m.def(
"trigger_candidate_type_to_string"
, &
trgdataformats::trigger_candidate_type_to_string
);
48
49
py::class_<TriggerCandidateData> trigger_candidate_data(m,
"TriggerCandidateData"
, py::buffer_protocol());
50
trigger_candidate_data
51
.def(py::init())
52
.def(py::init([](py::capsule capsule) {
53
auto
tp = *
static_cast<
TriggerCandidateData
*
>
(capsule.get_pointer());
54
return
tp;
55
} ))
56
.def(py::init([](py::bytes bytes){
57
py::buffer_info info(py::buffer(bytes).request());
58
auto
tp = *
static_cast<
TriggerCandidateData
*
>
(info.ptr);
59
return
tp;
60
}))
61
.def_property_readonly_static(
"s_trigger_candidate_version"
, [](py::object
/*self*/
) {
return
TriggerCandidateData::s_trigger_candidate_version
; })
62
.def_property_readonly(
"version"
, [](
TriggerCandidateData
& self) -> uint16_t {
return
self.
version
;})
63
.def_property_readonly(
"time_start"
, [](
TriggerCandidateData
& self) -> uint64_t {
return
self.
time_start
;})
64
.def_property_readonly(
"time_end"
, [](
TriggerCandidateData
& self) -> uint64_t {
return
self.
time_end
;})
65
.def_property_readonly(
"time_candidate"
, [](
TriggerCandidateData
& self) -> uint64_t {
return
self.
time_candidate
;})
66
.def_property_readonly(
"detid"
, [](
TriggerCandidateData
& self) -> uint16_t {
return
self.
detid
;})
67
.def_property_readonly(
"type"
, [](
TriggerCandidateData
& self) ->
TriggerCandidateData::Type
{
return
self.
type
;})
68
.def_property_readonly(
"algorithm"
, [](
TriggerCandidateData
& self) ->
TriggerCandidateData::Algorithm
{
return
self.
algorithm
;})
69
.def_static(
"sizeof"
, [](){
return
sizeof
(
TriggerCandidateData
); })
70
;
71
72
py::enum_<TriggerCandidateData::Type>(trigger_candidate_data,
"Type"
)
73
.value(
"kUnknown"
,
TriggerCandidateData::Type::kUnknown
)
74
.value(
"kTiming"
,
TriggerCandidateData::Type::kTiming
)
75
.value(
"kTPCLowE"
,
TriggerCandidateData::Type::kTPCLowE
)
76
.value(
"kSupernova"
,
TriggerCandidateData::Type::kSupernova
)
77
.value(
"kRandom"
,
TriggerCandidateData::Type::kRandom
)
78
.value(
"kPrescale"
,
TriggerCandidateData::Type::kPrescale
)
79
.value(
"kADCSimpleWindow"
,
TriggerCandidateData::Type::kADCSimpleWindow
)
80
.value(
"kHorizontalMuon"
,
TriggerCandidateData::Type::kHorizontalMuon
)
81
.value(
"kMichelElectron"
,
TriggerCandidateData::Type::kMichelElectron
)
82
.value(
"kPlaneCoincidence"
,
TriggerCandidateData::Type::kPlaneCoincidence
)
83
.value(
"kBundle"
,
TriggerCandidateData::Type::kBundle
)
84
.value(
"kChannelDistance"
,
TriggerCandidateData::Type::kChannelDistance
)
85
.value(
"kDBSCAN"
,
TriggerCandidateData::Type::kDBSCAN
)
86
.value(
"kCTBFakeTrigger"
,
TriggerCandidateData::Type::kCTBFakeTrigger
)
87
.value(
"kCTBBeam"
,
TriggerCandidateData::Type::kCTBBeam
)
88
.value(
"kCTBBeamChkvHL"
,
TriggerCandidateData::Type::kCTBBeamChkvHL
)
89
.value(
"kCTBCustomD"
,
TriggerCandidateData::Type::kCTBCustomD
)
90
.value(
"kCTBCustomE"
,
TriggerCandidateData::Type::kCTBCustomE
)
91
.value(
"kCTBCustomF"
,
TriggerCandidateData::Type::kCTBCustomF
)
92
.value(
"kCTBCustomG"
,
TriggerCandidateData::Type::kCTBCustomG
)
93
.value(
"kCTBBeamChkvHLx"
,
TriggerCandidateData::Type::kCTBBeamChkvHLx
)
94
.value(
"kCTBBeamChkvHxL"
,
TriggerCandidateData::Type::kCTBBeamChkvHxL
)
95
.value(
"kCTBBeamChkvHxLx"
,
TriggerCandidateData::Type::kCTBBeamChkvHxLx
)
96
.value(
"kNeutronSourceCalib"
,
TriggerCandidateData::Type::kNeutronSourceCalib
)
97
.value(
"kChannelAdjacency"
,
TriggerCandidateData::Type::kChannelAdjacency
)
98
.value(
"kCIBFakeTrigger"
,
TriggerCandidateData::Type::kCIBFakeTrigger
)
99
.value(
"kCIBLaserTriggerP1"
,
TriggerCandidateData::Type::kCIBLaserTriggerP1
)
100
.value(
"kCIBLaserTriggerP2"
,
TriggerCandidateData::Type::kCIBLaserTriggerP2
)
101
.value(
"kCIBLaserTriggerP3"
,
TriggerCandidateData::Type::kCIBLaserTriggerP3
)
102
.value(
"kCTBOffSpillSnapshot"
,
TriggerCandidateData::Type::kCTBOffSpillSnapshot
)
103
.value(
"kCTBOffSpillCosmicJura"
,
TriggerCandidateData::Type::kCTBOffSpillCosmicJura
)
104
.value(
"kCTBOffSpillCRTCosmic"
,
TriggerCandidateData::Type::kCTBOffSpillCRTCosmic
)
105
.value(
"kCTBBeamSpillStart"
,
TriggerCandidateData::Type::kCTBBeamSpillStart
)
106
.value(
"kCTBBeamSpillSnapshot"
,
TriggerCandidateData::Type::kCTBBeamSpillSnapshot
)
107
.value(
"kCTBCustomC"
,
TriggerCandidateData::Type::kCTBCustomC
)
108
.value(
"kCTBCustomPulseTrain"
,
TriggerCandidateData::Type::kCTBCustomPulseTrain
)
109
.value(
"kDTSPulser"
,
TriggerCandidateData::Type::kDTSPulser
)
110
.value(
"kDTSCosmic"
,
TriggerCandidateData::Type::kDTSCosmic
)
111
.value(
"kSSPLEDCalibration"
,
TriggerCandidateData::Type::kSSPLEDCalibration
)
112
.value(
"kProtoDUNEBSMWindow"
,
TriggerCandidateData::Type::kProtoDUNEBSMWindow
);
113
114
py::enum_<TriggerCandidateData::Algorithm>(trigger_candidate_data,
"Algorithm"
)
115
.value(
"kUnknown"
,
TriggerCandidateData::Algorithm::kUnknown
)
116
.value(
"kSupernova"
,
TriggerCandidateData::Algorithm::kSupernova
)
117
.value(
"kHSIEventToTriggerCandidate"
,
TriggerCandidateData::Algorithm::kHSIEventToTriggerCandidate
)
118
.value(
"kPrescale"
,
TriggerCandidateData::Algorithm::kPrescale
)
119
.value(
"kADCSimpleWindow"
,
TriggerCandidateData::Algorithm::kADCSimpleWindow
)
120
.value(
"kHorizontalMuon"
,
TriggerCandidateData::Algorithm::kHorizontalMuon
)
121
.value(
"kMichelElectron"
,
TriggerCandidateData::Algorithm::kMichelElectron
)
122
.value(
"kPlaneCoincidence"
,
TriggerCandidateData::Algorithm::kPlaneCoincidence
)
123
.value(
"kCustom"
,
TriggerCandidateData::Algorithm::kCustom
)
124
.value(
"kDBSCAN"
,
TriggerCandidateData::Algorithm::kDBSCAN
)
125
.value(
"kChannelDistance"
,
TriggerCandidateData::Algorithm::kChannelDistance
)
126
.value(
"kBundle"
,
TriggerCandidateData::Algorithm::kBundle
)
127
.value(
"kChannelAdjacency"
,
TriggerCandidateData::Algorithm::kChannelAdjacency
);
128
129
py::class_<TriggerCandidate>(m,
"TriggerCandidateOverlay"
, py::buffer_protocol())
130
.def(py::init([](py::capsule capsule) {
131
auto
tp = *
static_cast<
TriggerCandidate
*
>
(capsule.get_pointer());
132
return
tp;
133
} ))
134
.def_property_readonly(
"data"
, [](
TriggerCandidate
& self) ->
TriggerCandidateData
& {
return
self.data;})
135
.def(
"__len__"
, [](
TriggerCandidate
& self){
return
self.n_inputs; })
136
.def(
"sizeof"
, [](
TriggerCandidate
& self){
return
sizeof
(
TriggerCandidate
)+self.n_inputs*
sizeof
(
TriggerActivityData
); })
137
;
138
139
140
py::class_<TriggerCandidateHolder>(m,
"TriggerCandidate"
, py::buffer_protocol())
141
.def(py::init([](py::capsule capsule) {
142
auto
tc_ptr =
static_cast<
TriggerCandidate
*
>
(capsule.get_pointer());
143
TriggerCandidateHolder
tch(tc_ptr,
sizeof
(
TriggerCandidate
)+tc_ptr->n_inputs*
sizeof
(
TriggerActivityData
));
144
return
tch;
145
}))
146
.def(py::init([](py::bytes bytes){
147
py::buffer_info info(py::buffer(bytes).request());
148
149
TriggerCandidateHolder
tch(info.ptr, info.size);
150
151
return
tch;
152
}))
153
154
.def(
"get_bytes"
,
155
[](
TriggerCandidateHolder
& tch) -> py::bytes {
156
return
py::bytes(
reinterpret_cast<
char
*
>
(tch.
ptr
()), tch.
m_size
);
157
}, py::return_value_policy::reference_internal
158
)
159
.def_property_readonly(
"data"
, [](
TriggerCandidateHolder
& self) ->
TriggerCandidateData
& {
return
self.ptr()->data;})
160
.def(
"n_inputs"
, [](
TriggerCandidateHolder
& self){
return
self.ptr()->n_inputs; })
161
.def(
"__len__"
, [](
TriggerCandidateHolder
& self){
return
self.ptr()->n_inputs; })
162
.def(
"__getitem__"
,
163
[](
TriggerCandidateHolder
&self,
size_t
i) ->
const
TriggerActivityData
& {
164
if
(i >= self.ptr()->n_inputs) {
165
throw
py::index_error();
166
}
167
return
self.ptr()->inputs[i];
168
}, py::return_value_policy::reference_internal)
169
.def(
"sizeof"
, [](
TriggerCandidateHolder
& self){
return
self.m_size; })
170
;
171
}
// NOLINT function length, while long enough to trip the linter, is fine
172
173
}
// namespace python
174
}
// namespace trgdataformats
175
}
// namespace dunedaq
176
177
static_assert
(
178
dunedaq::trgdataformats::TriggerCandidateData::s_trigger_candidate_version
== 3,
179
"Version of TriggerCandidateData appears to have changed; as a developer please update the Python bindings in this file before updating this static_assert"
);
180
181
// NOLINTEND(build/unsigned)
dunedaq::trgdataformats::python
Definition
module.cpp:16
dunedaq::trgdataformats::python::register_trigger_candidate
void register_trigger_candidate(pybind11::module &)
dunedaq::trgdataformats
Definition
TriggerCandidateData.hxx:2
dunedaq::trgdataformats::string_to_trigger_candidate_type
TriggerCandidateData::Type string_to_trigger_candidate_type(const std::string &name)
Definition
TriggerCandidateData.hxx:72
dunedaq::trgdataformats::trigger_candidate_type_to_string
std::string trigger_candidate_type_to_string(const TriggerCandidateData::Type type)
Definition
TriggerCandidateData.hxx:81
dunedaq::trgdataformats::TriggerCandidate
TriggerObjectOverlay< TriggerCandidateData, TriggerActivityData > TriggerCandidate
Definition
TriggerObjectOverlay.hpp:52
dunedaq
The DUNE-DAQ namespace.
Definition
cib_utilities.cpp:5
dunedaq::size
FELIX Initialization std::string initerror FELIX queue timed std::string queuename Unexpected chunk size
Definition
FelixIssues.hpp:30
dunedaq::trgdataformats::TriggerActivityData
Definition
TriggerActivityData.hpp:25
dunedaq::trgdataformats::TriggerCandidateData
Definition
TriggerCandidateData.hpp:29
dunedaq::trgdataformats::TriggerCandidateData::type
Type type
Definition
TriggerCandidateData.hpp:107
dunedaq::trgdataformats::TriggerCandidateData::s_trigger_candidate_version
static constexpr version_t s_trigger_candidate_version
Definition
TriggerCandidateData.hpp:96
dunedaq::trgdataformats::TriggerCandidateData::time_candidate
timestamp_t time_candidate
Definition
TriggerCandidateData.hpp:101
dunedaq::trgdataformats::TriggerCandidateData::version
version_t version
Definition
TriggerCandidateData.hpp:98
dunedaq::trgdataformats::TriggerCandidateData::Type
Type
Definition
TriggerCandidateData.hpp:35
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBBeamChkvHLx
@ kCTBBeamChkvHLx
Definition
TriggerCandidateData.hpp:56
dunedaq::trgdataformats::TriggerCandidateData::Type::kChannelAdjacency
@ kChannelAdjacency
Definition
TriggerCandidateData.hpp:60
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBOffSpillSnapshot
@ kCTBOffSpillSnapshot
Definition
TriggerCandidateData.hpp:65
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBCustomD
@ kCTBCustomD
Definition
TriggerCandidateData.hpp:52
dunedaq::trgdataformats::TriggerCandidateData::Type::kProtoDUNEBSMWindow
@ kProtoDUNEBSMWindow
Definition
TriggerCandidateData.hpp:75
dunedaq::trgdataformats::TriggerCandidateData::Type::kUnknown
@ kUnknown
Definition
TriggerCandidateData.hpp:36
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBBeamSpillStart
@ kCTBBeamSpillStart
Definition
TriggerCandidateData.hpp:68
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBFakeTrigger
@ kCTBFakeTrigger
Definition
TriggerCandidateData.hpp:49
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBCustomE
@ kCTBCustomE
Definition
TriggerCandidateData.hpp:53
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBCustomF
@ kCTBCustomF
Definition
TriggerCandidateData.hpp:54
dunedaq::trgdataformats::TriggerCandidateData::Type::kHorizontalMuon
@ kHorizontalMuon
Definition
TriggerCandidateData.hpp:43
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBBeam
@ kCTBBeam
Definition
TriggerCandidateData.hpp:50
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBCustomG
@ kCTBCustomG
Definition
TriggerCandidateData.hpp:55
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBOffSpillCosmicJura
@ kCTBOffSpillCosmicJura
Definition
TriggerCandidateData.hpp:66
dunedaq::trgdataformats::TriggerCandidateData::Type::kChannelDistance
@ kChannelDistance
Definition
TriggerCandidateData.hpp:47
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBBeamChkvHL
@ kCTBBeamChkvHL
Definition
TriggerCandidateData.hpp:51
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBCustomPulseTrain
@ kCTBCustomPulseTrain
Definition
TriggerCandidateData.hpp:71
dunedaq::trgdataformats::TriggerCandidateData::Type::kCIBLaserTriggerP1
@ kCIBLaserTriggerP1
Definition
TriggerCandidateData.hpp:62
dunedaq::trgdataformats::TriggerCandidateData::Type::kDTSPulser
@ kDTSPulser
Definition
TriggerCandidateData.hpp:72
dunedaq::trgdataformats::TriggerCandidateData::Type::kTPCLowE
@ kTPCLowE
Definition
TriggerCandidateData.hpp:38
dunedaq::trgdataformats::TriggerCandidateData::Type::kTiming
@ kTiming
Definition
TriggerCandidateData.hpp:37
dunedaq::trgdataformats::TriggerCandidateData::Type::kCIBLaserTriggerP3
@ kCIBLaserTriggerP3
Definition
TriggerCandidateData.hpp:64
dunedaq::trgdataformats::TriggerCandidateData::Type::kDTSCosmic
@ kDTSCosmic
Definition
TriggerCandidateData.hpp:73
dunedaq::trgdataformats::TriggerCandidateData::Type::kADCSimpleWindow
@ kADCSimpleWindow
Definition
TriggerCandidateData.hpp:42
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBBeamChkvHxLx
@ kCTBBeamChkvHxLx
Definition
TriggerCandidateData.hpp:58
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBBeamChkvHxL
@ kCTBBeamChkvHxL
Definition
TriggerCandidateData.hpp:57
dunedaq::trgdataformats::TriggerCandidateData::Type::kCIBFakeTrigger
@ kCIBFakeTrigger
Definition
TriggerCandidateData.hpp:61
dunedaq::trgdataformats::TriggerCandidateData::Type::kBundle
@ kBundle
Definition
TriggerCandidateData.hpp:48
dunedaq::trgdataformats::TriggerCandidateData::Type::kPrescale
@ kPrescale
Definition
TriggerCandidateData.hpp:41
dunedaq::trgdataformats::TriggerCandidateData::Type::kDBSCAN
@ kDBSCAN
Definition
TriggerCandidateData.hpp:46
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBCustomC
@ kCTBCustomC
Definition
TriggerCandidateData.hpp:70
dunedaq::trgdataformats::TriggerCandidateData::Type::kPlaneCoincidence
@ kPlaneCoincidence
Definition
TriggerCandidateData.hpp:45
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBBeamSpillSnapshot
@ kCTBBeamSpillSnapshot
Definition
TriggerCandidateData.hpp:69
dunedaq::trgdataformats::TriggerCandidateData::Type::kSSPLEDCalibration
@ kSSPLEDCalibration
Definition
TriggerCandidateData.hpp:74
dunedaq::trgdataformats::TriggerCandidateData::Type::kMichelElectron
@ kMichelElectron
Definition
TriggerCandidateData.hpp:44
dunedaq::trgdataformats::TriggerCandidateData::Type::kNeutronSourceCalib
@ kNeutronSourceCalib
Definition
TriggerCandidateData.hpp:59
dunedaq::trgdataformats::TriggerCandidateData::Type::kSupernova
@ kSupernova
Definition
TriggerCandidateData.hpp:39
dunedaq::trgdataformats::TriggerCandidateData::Type::kRandom
@ kRandom
Definition
TriggerCandidateData.hpp:40
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBOffSpillCRTCosmic
@ kCTBOffSpillCRTCosmic
Definition
TriggerCandidateData.hpp:67
dunedaq::trgdataformats::TriggerCandidateData::Type::kCIBLaserTriggerP2
@ kCIBLaserTriggerP2
Definition
TriggerCandidateData.hpp:63
dunedaq::trgdataformats::TriggerCandidateData::time_end
timestamp_t time_end
Definition
TriggerCandidateData.hpp:100
dunedaq::trgdataformats::TriggerCandidateData::Algorithm
Algorithm
Definition
TriggerCandidateData.hpp:80
dunedaq::trgdataformats::TriggerCandidateData::Algorithm::kChannelAdjacency
@ kChannelAdjacency
Definition
TriggerCandidateData.hpp:93
dunedaq::trgdataformats::TriggerCandidateData::Algorithm::kUnknown
@ kUnknown
Definition
TriggerCandidateData.hpp:81
dunedaq::trgdataformats::TriggerCandidateData::Algorithm::kHorizontalMuon
@ kHorizontalMuon
Definition
TriggerCandidateData.hpp:86
dunedaq::trgdataformats::TriggerCandidateData::Algorithm::kChannelDistance
@ kChannelDistance
Definition
TriggerCandidateData.hpp:91
dunedaq::trgdataformats::TriggerCandidateData::Algorithm::kHSIEventToTriggerCandidate
@ kHSIEventToTriggerCandidate
Definition
TriggerCandidateData.hpp:83
dunedaq::trgdataformats::TriggerCandidateData::Algorithm::kADCSimpleWindow
@ kADCSimpleWindow
Definition
TriggerCandidateData.hpp:85
dunedaq::trgdataformats::TriggerCandidateData::Algorithm::kBundle
@ kBundle
Definition
TriggerCandidateData.hpp:92
dunedaq::trgdataformats::TriggerCandidateData::Algorithm::kPrescale
@ kPrescale
Definition
TriggerCandidateData.hpp:84
dunedaq::trgdataformats::TriggerCandidateData::Algorithm::kDBSCAN
@ kDBSCAN
Definition
TriggerCandidateData.hpp:90
dunedaq::trgdataformats::TriggerCandidateData::Algorithm::kPlaneCoincidence
@ kPlaneCoincidence
Definition
TriggerCandidateData.hpp:88
dunedaq::trgdataformats::TriggerCandidateData::Algorithm::kCustom
@ kCustom
Definition
TriggerCandidateData.hpp:89
dunedaq::trgdataformats::TriggerCandidateData::Algorithm::kMichelElectron
@ kMichelElectron
Definition
TriggerCandidateData.hpp:87
dunedaq::trgdataformats::TriggerCandidateData::Algorithm::kSupernova
@ kSupernova
Definition
TriggerCandidateData.hpp:82
dunedaq::trgdataformats::TriggerCandidateData::time_start
timestamp_t time_start
Definition
TriggerCandidateData.hpp:99
dunedaq::trgdataformats::TriggerCandidateData::algorithm
Algorithm algorithm
Definition
TriggerCandidateData.hpp:108
dunedaq::trgdataformats::TriggerCandidateData::detid
detid_t detid
Definition
TriggerCandidateData.hpp:106
dunedaq::trgdataformats::python::TriggerCandidateHolder
Definition
trigger_candidate.cpp:26
dunedaq::trgdataformats::python::TriggerCandidateHolder::TriggerCandidateHolder
TriggerCandidateHolder(void *ptr, size_t size)
Definition
trigger_candidate.cpp:29
dunedaq::trgdataformats::python::TriggerCandidateHolder::m_data
std::unique_ptr< uint8_t[]> m_data
Definition
trigger_candidate.cpp:38
dunedaq::trgdataformats::python::TriggerCandidateHolder::m_size
size_t m_size
Definition
trigger_candidate.cpp:37
dunedaq::trgdataformats::python::TriggerCandidateHolder::ptr
TriggerCandidate * ptr()
Definition
trigger_candidate.cpp:35
TriggerObjectOverlay.hpp
Generated on
for DUNE-DAQ by
1.18.0