9 #ifndef LARDATA_RECOBASE_DUMPERS_PCAXISDUMPERS_H 10 #define LARDATA_RECOBASE_DUMPERS_PCAXISDUMPERS_H 1 18 #include <type_traits> 30 template <
typename Stream,
typename NewLineRef>
32 std::is_same<recob::dumper::NewLine<std::decay_t<Stream>>, std::decay_t<NewLineRef>>
::value>
47 template <
typename Stream>
51 bool indentFirst =
true)
65 template <
typename Stream,
typename NewLineRef>
67 std::is_same<recob::dumper::NewLine<std::decay_t<Stream>>, std::decay_t<NewLineRef>>
::value>
72 nl() <<
"<not valid>";
76 nl() << std::setiosflags(std::ios::fixed) << std::setprecision(2) <<
" ID " << pca.
getID()
78 nl() <<
" - center position: " << std::setw(6) << pca.
getAvePosition()[0] <<
", " 83 nl() <<
" - principle axis: " << std::setw(7) << std::setprecision(4)
86 nl() <<
" - second axis: " << std::setw(7) << std::setprecision(4) << pca.
getEigenVectors()[1][0]
88 nl() <<
" - third axis: " << std::setw(7) << std::setprecision(4) << pca.
getEigenVectors()[2][0]
95 #endif // LARDATA_RECOBASE_DUMPERS_PCAXISDUMPERS_H double getAveHitDoca() const
const EigenVectors & getEigenVectors() const
const double * getEigenValues() const
constexpr auto const & right(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Reconstruction base classes.
std::enable_if_t< std::is_same< recob::dumper::NewLine< std::decay_t< Stream > >, std::decay_t< NewLineRef > >::value > DumpPCAxis(Stream &&out, recob::PCAxis const &pca, NewLineRef &&nl)
int getNumHitsUsed() const
Simple class managing a repetitive output task.
std::string indent(std::size_t const i)
const double * getAvePosition() const
NewLine< Stream > makeNewLine(Stream &stream, std::string indent, bool followLine=false)
Convenience function to create a temporary NewLine.
std::string nl(std::size_t i=1)