9 #ifndef LARDATA_RECOBASE_DUMPERS_SPACEPOINTDUMPERS_H
10 #define LARDATA_RECOBASE_DUMPERS_SPACEPOINTDUMPERS_H 1
18 #include <type_traits>
68 SpacePointPrintOptions_t
const&
options = {}
70 <std::is_same<NewLine<std::decay_t<Stream>>, std::decay_t<NewLineRef>>::
value>;
82 template <
typename Stream,
typename NewLineRef>
90 std::decay_t<NewLineRef>
93 double const* pos = sp.XYZ();
94 double const*
err = sp.ErrXYZ();
96 NewLineRef nl(out,
options.indent);
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.
IndentOptions_t indent
indentation string
EResult err(const char *call)
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.
typename std::enable_if< B, T >::type enable_if_t
Structure collecting indentation options.
Helper for formatting floats in base 16.
SpacePointPrintOptions_t()=default
Default constructor.
Helper to support output of real numbers in base 16.
then echo echo For and will not be changed by echo further linking echo echo B echo The symbol is in the uninitialized data multiple common symbols may appear with the echo same name If the symbol is defined the common echo symbols are treated as undefined references For more echo details on common see the discussion of warn common echo in *Note Linker options
bool hexFloats
print all floating point numbers in base 16
Collection of available printing style options.