22 constexpr std::array<const char*, Acts::eBoundSize> makeBoundNames() {
23 std::array<const char*, Acts::eBoundSize>
names = {
nullptr};
34 constexpr std::array<const char*, Acts::eFreeSize> makeFreeNames() {
35 std::array<const char*, Acts::eFreeSize>
names = {
nullptr};
48 constexpr std::array<std::size_t, 8> kMonotonic = {
49 0, 1, 2, 3, 4, 5, 6, 7,
52 constexpr std::size_t kNamesMaxSize = 6;
71 template <
typename names_container_t,
typename indices_container_t,
73 void printParametersCovariance(std::ostream&
os,
const names_container_t&
names,
74 const indices_container_t& nameIndices,
75 const Eigen::MatrixBase<parameters_t>& params,
76 const Eigen::MatrixBase<covariance_t>&
cov) {
77 EIGEN_STATIC_ASSERT_VECTOR_ONLY(parameters_t);
80 auto flags = os.flags();
84 auto stddev = cov.diagonal().cwiseSqrt().eval();
93 os << std::setw(kNamesMaxSize) <<
std::left << names[nameIndices[
i]];
96 os << std::defaultfloat << std::setprecision(4);
97 os << std::setw(10) << std::right << params[
i];
100 os << std::setw(10) <<
std::left << stddev[
i];
103 os << std::fixed << std::setprecision(3);
106 os <<
" " << std::setw(6) << std::right <<
corr;
131 template <
typename names_container_t,
typename indices_container_t,
132 typename parameters_t>
134 const indices_container_t& nameIndices,
135 const Eigen::MatrixBase<parameters_t>& params) {
136 EIGEN_STATIC_ASSERT_VECTOR_ONLY(parameters_t);
139 auto flags = os.flags();
149 os << std::setw(kNamesMaxSize) <<
std::left << names[nameIndices[
i]];
152 os << std::defaultfloat << std::setprecision(4);
153 os << std::setw(10) << std::right << params[
i];
161 using ParametersMap = Eigen::Map<const Acts::ActsDynamicVector>;
162 using CovarianceMap = Eigen::Map<const Acts::ActsDynamicMatrix>;
170 if (cov !=
nullptr) {
171 printParametersCovariance(os, makeBoundNames(), kMonotonic, params, *cov);
175 os <<
"\non surface " << surface.
geometryId() <<
" of type "
182 if (cov !=
nullptr) {
183 printParametersCovariance(os, makeFreeNames(), kMonotonic, params, *cov);
190 const uint8_t* indices,
194 printParametersCovariance(os, makeBoundNames(), indices,
195 ParametersMap(params,
s), CovarianceMap(cov,
s,
s));
199 const uint8_t* indices,
203 printParametersCovariance(os, makeFreeNames(), indices,
204 ParametersMap(params,
s), CovarianceMap(cov,
s,
s));