File indexing completed on 2026-01-09 09:25:44
0001
0002
0003
0004
0005
0006
0007
0008
0009 #include "Acts/TrackFitting/KalmanFitterError.hpp"
0010 #include "Acts/Utilities/Result.hpp"
0011
0012 #include <iostream>
0013 #include <system_error>
0014
0015
0016 struct Track {
0017 int id;
0018 };
0019
0020
0021 struct TrackParameters {
0022 double momentum;
0023 };
0024
0025
0026 enum class MyComponentError {
0027 ErrorValue1 = 1,
0028 ErrorValue2,
0029
0030 };
0031
0032
0033 std::error_code make_error_code(MyComponentError e);
0034
0035
0036
0037 Acts::Result<Track> fitTrack(const TrackParameters& params) {
0038 if (params.momentum < 0) {
0039 return Acts::KalmanFitterError::UpdateFailed;
0040 }
0041 Track track{42};
0042 return track;
0043 }
0044
0045 void processTrack() {
0046 TrackParameters params{100.0};
0047
0048
0049 auto result = fitTrack(params);
0050 if (!result.ok()) {
0051 std::error_code error = result.error();
0052
0053 std::cerr << "Error: " << error.message() << std::endl;
0054 } else {
0055 Track track = std::move(result).value();
0056 std::cout << "Track fitted successfully: " << track.id << std::endl;
0057 }
0058 }
0059