42{
43
44
45 py::class_<TriggerActivityData> trigger_activity_data(m, "TriggerActivityData", py::buffer_protocol());
46 trigger_activity_data
47 .def(py::init())
48 .def(py::init([](py::capsule capsule) {
50 return tp;
51 } ))
52 .def(py::init([](py::bytes bytes){
53 py::buffer_info info(py::buffer(bytes).request());
55 return tp;
56 }))
59 .def_property_readonly("version", [](TriggerActivityData& self) -> uint16_t {return self.version;})
60 .def_property_readonly("time_start", [](TriggerActivityData& self) -> uint64_t {return self.time_start;})
61 .def_property_readonly("time_end", [](TriggerActivityData& self) -> uint64_t {return self.time_end;})
62 .def_property_readonly("time_peak", [](TriggerActivityData& self) -> uint64_t {return self.time_peak;})
63 .def_property_readonly("time_activity", [](TriggerActivityData& self) -> uint64_t {return self.time_activity;})
64 .def_property_readonly(
"channel_start", [](TriggerActivityData& self) ->
channel_t {
return self.channel_start;})
65 .def_property_readonly(
"channel_end", [](TriggerActivityData& self) ->
channel_t {
return self.channel_end;})
66 .def_property_readonly(
"channel_peak", [](TriggerActivityData& self) ->
channel_t {
return self.channel_peak;})
67 .def_property_readonly("adc_integral", [](TriggerActivityData& self) -> uint32_t {return self.adc_integral;})
68 .def_property_readonly("adc_peak", [](TriggerActivityData& self) -> uint32_t {return self.adc_peak;})
69 .def_property_readonly("detid", [](TriggerActivityData& self) -> uint16_t {return self.detid;})
72 .def_static("sizeof", [](){ return sizeof(TriggerActivityData); })
73 ;
74
75
76 py::enum_<TriggerActivityData::Type>(trigger_activity_data, "Type")
80
81 py::enum_<TriggerActivityData::Algorithm>(trigger_activity_data, "Algorithm")
95
96 py::class_<TriggerActivity>(m, "TriggerActivityOverlay", py::buffer_protocol())
97 .def(py::init())
98 .def(py::init([](py::capsule capsule) {
100 return tp;
101 } ))
102 .def_property_readonly(
"data", [](
TriggerActivity& self) -> TriggerActivityData& {
return self.data;})
105 ;
106
107
108 py::class_<TriggerActivityHolder>(m, "TriggerActivity", py::buffer_protocol())
109
110 .def(py::init([](py::capsule capsule) {
113 return tah;
114 }))
115 .def(py::init([](py::bytes bytes){
116 py::buffer_info
info(py::buffer(bytes).request());
118
119 return tah;
120 }))
121
122 .def("get_bytes",
124 return py::bytes(reinterpret_cast<char*>(tah.ptr()), tah.m_size);
125 }, py::return_value_policy::reference_internal
126 )
127 .def_property_readonly(
"data", [](
TriggerActivityHolder& self) -> TriggerActivityData& {
return self.ptr()->data;})
130 .def("__getitem__",
132 if (i >= self.ptr()->n_inputs) {
133 throw py::index_error();
134 }
135 return self.ptr()->inputs[i];
136 }, py::return_value_policy::reference_internal)
138
139 ;
140}