Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-10-16 08:47:29

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 // GX2F backend. One heavy Eigen decomposition per translation unit to keep
0010 // the peak compile memory low.
0011 
0012 #include "Acts/EventData/MeasurementHelpers.hpp"
0013 #include "Acts/TrackFitting/GlobalChiSquareFitterBackend.hpp"
0014 
0015 void Acts::Experimental::updateGx2fCovarianceParams(
0016     BoundMatrix& fullCovariancePredicted, Gx2fSystem& extendedSystem) {
0017   // make invertible
0018   for (std::size_t i = 0; i < extendedSystem.nDims(); ++i) {
0019     if (extendedSystem.aMatrix()(i, i) == 0.) {
0020       extendedSystem.aMatrix()(i, i) = 1.;
0021     }
0022   }
0023 
0024   visit_measurement(extendedSystem.findRequiredNdf(), [&](auto N) {
0025     fullCovariancePredicted.topLeftCorner<N, N>() =
0026         extendedSystem.aMatrix().inverse().topLeftCorner<N, N>();
0027   });
0028 
0029   return;
0030 }