Warning, file /acts/Alignment/src/Alignment.cpp was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009 #include "ActsAlignment/Kernel/Alignment.hpp"
0010
0011 #include "Acts/Utilities/detail/OstreamStateGuard.hpp"
0012
0013 #include <fstream>
0014 #include <stdexcept>
0015
0016 namespace ActsAlignment {
0017 void dumpResultAsMP2(const ActsAlignment::AlignmentResult& result,
0018 std::ostream& out) {
0019
0020 Acts::detail::OstreamStateGuard g(out);
0021 for (auto [surface, index] : result.idxedAlignSurfaces) {
0022 for (std::size_t i = 0; i < Acts::eAlignmentSize; ++i) {
0023 std::size_t row = Acts::eAlignmentSize * index + i;
0024 out << std::setw(8)
0025 << row + 1
0026
0027 << " " << std::setw(12)
0028 << result.deltaAlignmentParameters(row)
0029
0030 << " " << std::setw(4)
0031 << 0.
0032
0033 << " " << std::setw(12)
0034 << result.deltaAlignmentParameters(row)
0035
0036 << " " << std::setw(12)
0037 << std::sqrt(result.alignmentCovariance(row, row))
0038
0039
0040 << " 99 " << std::endl;
0041 }
0042 }
0043 }
0044 void dumpResultAsMP2(const ActsAlignment::AlignmentResult& result,
0045 const std::filesystem::path& fname) {
0046 std::ofstream of(fname);
0047 if (!of.is_open()) {
0048 throw std::runtime_error("Unable to open the output file");
0049 }
0050 dumpResultAsMP2(result, of);
0051 }
0052 }