19#include <Math/Vector3Dfwd.h>
23#include <fmt/format.h>
26#include <Math/Vector3D.h>
29class fmt::formatter<TVector3>
32 static constexpr auto parse(format_parse_context& ctx) {
return ctx.end(); }
33 template <
typename FmtContent>
34 constexpr auto format(
const TVector3& vec, FmtContent& ctn)
const
36 return fmt::format_to(ctn.out(),
"[x: {}, y: {}, z: {}]", vec.X(), vec.Y(), vec.Z());
41class fmt::formatter<
ROOT::Math::XYZVector>
44 static constexpr auto parse(format_parse_context& ctx) {
return ctx.end(); }
45 template <
typename FmtContent>
46 constexpr auto format(
const ROOT::Math::XYZVector& vec, FmtContent& ctn)
const
48 return fmt::format_to(ctn.out(),
"[x: {}, y: {}, z: {}]", vec.X(), vec.Y(), vec.Z());
52template <
typename DataType>
53class fmt::formatter<
R3B::LRPair<DataType>>
56 static constexpr auto parse(format_parse_context& ctx) {
return ctx.end(); }
57 template <
typename FmtContent>
60 return fmt::format_to(ctn.out(),
"[left: {}, right: {}]", data_pair.
left(), data_pair.
right());
68 static constexpr auto parse(format_parse_context& ctx) {
return ctx.end(); }
69 template <
typename FmtContent>
74 return fmt::format_to(ctn.out(),
"{}",
"left");
76 return fmt::format_to(ctn.out(),
"{}",
"right");
auto left() -> DataType &
auto right() -> DataType &