GCC Code Coverage Report


Directory: ./
File: src/event/sadc-helper.cc
Date: 2025-09-01 06:19:01
Exec Total Coverage
Lines: 0 26 0.0%
Functions: 0 7 0.0%
Branches: 0 4 0.0%

Line Branch Exec Source
1 #include "na64event/sadc-helper.hh"
2 #include "na64event/data/sadc.hh"
3 #include "na64util/str-fmt.hh"
4 #include <variant>
5
6 namespace na64dp {
7 namespace aux {
8
9 SADCRawWfHelper::SADCRawWfHelper(const event::RawDataSADC & ref)
10 : _ref(ref)
11 {
12 if(std::holds_alternative<mem::Ref<event::MSADCWaveform>>(_ref.samples)) {
13 _n_samples = &SADCRawWfHelper::_n_samples_MSADC;
14 _get_sample = &SADCRawWfHelper::_get_sample_MSADC;
15 _set_sample = &SADCRawWfHelper::_set_sample_MSADC;
16 } else if(std::holds_alternative<mem::Ref<event::WBWaveform>>(_ref.samples)) {
17 _n_samples = &SADCRawWfHelper::_n_samples_WB;
18 _get_sample = &SADCRawWfHelper::_get_sample_WB;
19 _set_sample = &SADCRawWfHelper::_set_sample_WB;
20 } else {
21 NA64DP_RUNTIME_ERROR("Unsupported raw data SADC type");
22 }
23 }
24
25 size_t
26 SADCRawWfHelper::_n_samples_MSADC() const {
27 return 32;
28 }
29
30 size_t
31 SADCRawWfHelper::_n_samples_WB() const {
32 return std::get<mem::Ref<event::WBWaveform>>(_ref.samples).get()
33 ->wave.size();
34 }
35
36 event::StdFloat_t
37 SADCRawWfHelper::_get_sample_MSADC(size_t i) const {
38 assert(i < 32);
39 return std::get<mem::Ref<event::MSADCWaveform>>(_ref.samples)->wave[i];
40 }
41
42 event::StdFloat_t
43 SADCRawWfHelper::_get_sample_WB(size_t i) const {
44 return std::get<mem::Ref<event::WBWaveform>>(_ref.samples)->wave[i];
45 }
46
47 void
48 SADCRawWfHelper::_set_sample_MSADC(size_t i, event::StdFloat_t v) {
49 assert(i < 32);
50 std::get<mem::Ref<event::MSADCWaveform>>(_ref.samples)->wave[i] = v;
51 }
52
53 void
54 SADCRawWfHelper::_set_sample_WB(size_t i, event::StdFloat_t v) {
55 std::get<mem::Ref<event::WBWaveform>>(_ref.samples)->wave[i] = v;
56 }
57
58 } // namespace ::na64dp::aux
59 } // namespace na64dp
60
61