9 #ifndef LARDATA_RECOBASE_DUMPERS_SPACEPOINTDUMPERS_H 10 #define LARDATA_RECOBASE_DUMPERS_SPACEPOINTDUMPERS_H 1 18 #include <type_traits> 70 <std::is_same<
NewLine<std::decay_t<Stream>>, std::decay_t<NewLineRef>>::
value>;
82 template <
typename Stream,
typename NewLineRef>
87 ) -> std::enable_if_t<
90 std::decay_t<NewLineRef>
93 double const*
pos = sp.XYZ();
94 double const*
err = sp.ErrXYZ();
100 <<
"ID=" << sp.ID() <<
" at (" << hexfloat(pos[0])
101 <<
", " << hexfloat(pos[1]) <<
", " << hexfloat(pos[2])
102 <<
") cm, chi^2/NDF=" << hexfloat(sp.Chisq());
105 <<
"variances { x^2=" << hexfloat(err[0]) <<
" y^2=" << hexfloat(err[2])
106 <<
" z^2=" << hexfloat(err[5])
107 <<
" xy=" << hexfloat(err[1]) <<
" xz=" << hexfloat(err[3])
108 <<
" yz=" << hexfloat(err[4]) <<
" }";
114 #endif // LARDATA_RECOBASE_DUMPERS_SPACEPOINTDUMPERS_H Starts a new line in a output stream.
Reconstruction base classes.
IndentOptions_t indent
indentation string
auto DumpSpacePoint(Stream &&out, recob::SpacePoint const &sp, SpacePointPrintOptions_t const &options={}) -> std::enable_if_t < std::is_same< NewLine< std::decay_t< Stream >>, std::decay_t< NewLineRef >>::value >
Dumps the content of the specified space point into a stream.
Simple class managing a repetitive output task.
Structure collecting indentation options.
void err(const char *fmt,...)
Helper for formatting floats in base 16.
SpacePointPrintOptions_t()=default
Default constructor.
Helper to support output of real numbers in base 16.
bool hexFloats
print all floating point numbers in base 16
std::string nl(std::size_t i=1)
Collection of available printing style options.