18#include <fmt/format.h>
19#include <fmt/ranges.h>
21#include <unordered_map>
51 std::vector<DoubleEdgeSignal>
left;
52 std::vector<DoubleEdgeSignal>
right;
59 std::unordered_map<int, R3B::MapBarSignal>
bars;
64 auto empty() const ->
bool {
return bars.empty(); };
78class fmt::formatter<
R3B::SingleEdgeSignal>
81 static constexpr auto parse(format_parse_context& ctx) {
return ctx.end(); }
82 template <
typename FmtContent>
85 return format_to(ctn.out(),
"{{fine: {}, coarse: {} }}", signal.
fine, signal.
coarse);
90class fmt::formatter<
R3B::DoubleEdgeSignal>
93 static constexpr auto parse(format_parse_context& ctx) {
return ctx.end(); }
94 template <
typename FmtContent>
97 return format_to(ctn.out(),
"{{leading: {}, trailing: {} }}", signal.
leading, signal.
trailing);
102class fmt::formatter<
R3B::MapBarSignal>
105 static constexpr auto parse(format_parse_context& ctx) {
return ctx.end(); }
106 template <
typename FmtContent>
110 ctn.out(),
"{{left: [{}], right: [{}] }}", fmt::join(signal.
left,
", "), fmt::join(signal.
left,
", "));
std::map< int, R3B::PaddleTamexTrigMappedData > R3BPaddleTamexTrigDataContainer
std::vector< R3B::PaddleTamexMappedData > R3BPaddleTamexMappedDataContainer
R3B::PaddleTamexMappedData R3BPaddleTamexMappedData2
R3B::PaddleTamexTrigMappedData R3BPaddleTamexTrigMappedData
SingleEdgeSignal trailing
ClassDefNV(DoubleEdgeSignal, 1)
std::vector< DoubleEdgeSignal > right
auto get(R3B::Side side) const -> const auto &
void push_back(R3B::Side side, const DoubleEdgeSignal &signal)
std::vector< DoubleEdgeSignal > left
int plane_num
number of plane 1..n
PaddleTamexMappedData()=default
void push_back(R3B::Side side, int barID, const R3B::DoubleEdgeSignal &signal)
auto empty() const -> bool
ClassDefNV(PaddleTamexMappedData, 1)
std::unordered_map< int, R3B::MapBarSignal > bars
number of bar 1..n
R3B::SingleEdgeSignal signal
ClassDefNV(PaddleTamexTrigMappedData, 2)
ClassDefNV(SingleEdgeSignal, 2)