Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-08 07:46:51

0001 // This file is part of the ACTS project.
0002 //
0003 // Copyright (C) 2016 CERN for the benefit of the ACTS project
0004 //
0005 // This Source Code Form is subject to the terms of the Mozilla Public
0006 // License, v. 2.0. If a copy of the MPL was not distributed with this
0007 // file, You can obtain one at https://mozilla.org/MPL/2.0/.
0008 
0009 #pragma once
0010 
0011 #include <system_error>
0012 #include <type_traits>
0013 
0014 namespace Acts::Experimental {
0015 
0016 /// Error codes for global chi-square fitter operations
0017 /// @enum GlobalChiSquareFitterError
0018 /// @ingroup errors
0019 enum class GlobalChiSquareFitterError {
0020   // ensure all values are non-zero
0021   /// aMatrix is not invertible.
0022   AIsNotInvertible = 1,
0023   /// Did not converge in 'nUpdateMax' updates.
0024   DidNotConverge = 2,
0025   /// Not enough measurements.
0026   NotEnoughMeasurements = 3,
0027   /// Update pushed the parameters to a new volume.
0028   UpdatePushedToNewVolume = 4,
0029 
0030 };
0031 
0032 /// Converts error code to std::error_code
0033 /// @param e Error code to convert
0034 /// @return std::error_code for the given error
0035 std::error_code make_error_code(
0036     Acts::Experimental::GlobalChiSquareFitterError e);
0037 
0038 }  // namespace Acts::Experimental
0039 
0040 namespace std {
0041 // register with STL
0042 template <>
0043 struct is_error_code_enum<Acts::Experimental::GlobalChiSquareFitterError>
0044     : std::true_type {};
0045 }  // namespace std