18#include <Math/Vector3Dfwd.h>
22#include <fmt/format.h>
25#include <Math/Vector3D.h>
28class fmt::formatter<TVector3>
31 static constexpr auto parse(format_parse_context& ctx) {
return ctx.end(); }
32 template <
typename FmtContent>
33 constexpr auto format(
const TVector3& vec, FmtContent& ctn)
const
35 return fmt::format_to(ctn.out(),
"[x: {}, y: {}, z: {}]", vec.X(), vec.Y(), vec.Z());
39template <
typename DataType>
40class fmt::formatter<
R3B::ValueError<DataType>>
44 static constexpr auto parse(format_parse_context& ctx) {
return ctx.end(); }
45 template <
typename FmtContent>
48 return fmt::format_to(ctn.out(),
"{}+/-{}", value_error.
value, value_error.
error);
53class fmt::formatter<
ROOT::Math::XYZVector>
56 static constexpr auto parse(format_parse_context& ctx) {
return ctx.end(); }
57 template <
typename FmtContent>
58 constexpr auto format(
const ROOT::Math::XYZVector& vec, FmtContent& ctn)
const
60 return fmt::format_to(ctn.out(),
"[x: {}, y: {}, z: {}]", vec.X(), vec.Y(), vec.Z());
64template <
typename DataType>
65class fmt::formatter<
R3B::LRPair<DataType>>
68 static constexpr auto parse(format_parse_context& ctx) {
return ctx.end(); }
69 template <
typename FmtContent>
72 return fmt::format_to(ctn.out(),
"[left: {}, right: {}]", data_pair.
left(), data_pair.
right());
80 static constexpr auto parse(format_parse_context& ctx) {
return ctx.end(); }
81 template <
typename FmtContent>
86 return fmt::format_to(ctn.out(),
"{}",
"left");
88 return fmt::format_to(ctn.out(),
"{}",
"right");
auto left() -> DataType &
auto right() -> DataType &