File indexing completed on 2026-07-26 08:21:58
0001
0002
0003
0004
0005
0006
0007
0008 #pragma once
0009
0010
0011 #include <cstdint>
0012
0013 namespace traccc {
0014
0015
0016 enum class track_fit_outcome : std::uint16_t {
0017 UNKNOWN,
0018 SUCCESS,
0019 FAILURE_NON_POSITIVE_NDF,
0020 FAILURE_NOT_ALL_FITTED,
0021 FAILURE_NOT_ALL_SMOOTHED,
0022 FAILURE_FITTER,
0023 FAILURE_SMOOTHER,
0024 FAILURE_FORWARD_PROPAGATION,
0025 FAILURE_BACKWARD_PROPAGATION,
0026 MAX_OUTCOME
0027 };
0028
0029
0030 struct fit_outcome_debug_msg {
0031 TRACCC_HOST std::string operator()() const {
0032 switch (m_code) {
0033 using enum track_fit_outcome;
0034 case UNKNOWN: {
0035 return "Unknown";
0036 }
0037 case SUCCESS: {
0038 return "Success";
0039 }
0040 case FAILURE_NON_POSITIVE_NDF: {
0041 return "Negative NDF";
0042 }
0043 case FAILURE_NOT_ALL_FITTED: {
0044 return "Not all track states fitted";
0045 }
0046 case FAILURE_NOT_ALL_SMOOTHED: {
0047 return "Not all track states smoothed";
0048 }
0049 case FAILURE_FITTER: {
0050 return "Fitter failure";
0051 }
0052 case FAILURE_SMOOTHER: {
0053 return "Smoother failure";
0054 }
0055 case FAILURE_FORWARD_PROPAGATION: {
0056 return "Forward propagation failure";
0057 }
0058 case FAILURE_BACKWARD_PROPAGATION: {
0059 return "Backward propagation failure";
0060 }
0061 default: {
0062 return "Not a defined fit outcome code: " +
0063 std::to_string(static_cast<int>(m_code));
0064 }
0065 }
0066 }
0067
0068 track_fit_outcome m_code{track_fit_outcome::MAX_OUTCOME};
0069 };
0070
0071 }