File indexing completed on 2025-12-22 09:20:46
0001
0002
0003
0004
0005
0006
0007
0008
0009 #include "ActsExamples/TrackFitting/RefittingCalibrator.hpp"
0010
0011 #include "Acts/EventData/MeasurementHelpers.hpp"
0012 #include "Acts/EventData/SourceLink.hpp"
0013 #include "Acts/Utilities/CalibrationContext.hpp"
0014
0015 namespace ActsExamples {
0016
0017 void RefittingCalibrator::calibrate(const Acts::GeometryContext& ,
0018 const Acts::CalibrationContext& ,
0019 const Acts::SourceLink& sourceLink,
0020 Proxy trackState) const {
0021 const auto sl = sourceLink.get<RefittingSourceLink>();
0022
0023
0024 trackState.setUncalibratedSourceLink(sl.state.getUncalibratedSourceLink());
0025
0026
0027
0028 Acts::visit_measurement(sl.state.calibratedSize(), [&](auto N) {
0029 using namespace Acts;
0030 constexpr int Size = decltype(N)::value;
0031
0032 trackState.allocateCalibrated(
0033 sl.state.template calibrated<Size>().eval(),
0034 sl.state.template calibratedCovariance<Size>().eval());
0035 });
0036
0037 trackState.setProjectorSubspaceIndices(sl.state.projectorSubspaceIndices());
0038 }
0039
0040 }