60 const Acts::CalibrationContext& ,
61 const Acts::SourceLink& genericSourceLink ,
62 typename traj_t::TrackStateProxy trackState)
const {
65 assert(m_measurements_ and
66 "Undefined measurement container in LdmxMeasurementCalibrator");
67 assert((source_link.index() < m_measurements_->size()) and
68 "Source link index is outside the container bounds in "
69 "LdmxMeasurementCalibrator");
71 auto meas = m_measurements_->at(source_link.index());
72 Acts::Vector2 local_pos{meas.getLocalPosition()[0],
73 meas.getLocalPosition()[1]};
74 trackState.allocateCalibrated(2);
75 auto ts_cal{trackState.template calibrated<2>()};
76 auto ts_cal_cov{trackState.template calibratedCovariance<2>()};
78 ts_cal.template head<2>() = local_pos;
79 Acts::SquareMatrix2 local_cov;
81 local_cov(0, 0) = meas.getLocalCovariance()[0];
82 local_cov(1, 1) = meas.getLocalCovariance()[1];
85 ts_cal_cov.block(0, 0, 2, 2) = local_cov;
87 Acts::ActsMatrix<2, 6> projector;
92 trackState.setProjector(projector);
93 trackState.setUncalibratedSourceLink(genericSourceLink);
104 const Acts::CalibrationContext& ,
105 const Acts::SourceLink& genericSourceLink ,
106 typename traj_t::TrackStateProxy trackState)
const {
110 assert(m_measurements_ and
111 "Undefined measurement container in LdmxMeasurementCalibrator");
112 assert((source_link.index() < m_measurements_->size()) and
113 "Source link index is outside the container bounds in "
114 "LdmxMeasurementCalibrator");
116 auto meas = m_measurements_->at(source_link.index());
118 trackState.allocateCalibrated(1);
119 auto ts_cal{trackState.template calibrated<1>()};
120 auto ts_cal_cov{trackState.template calibratedCovariance<1>()};
123 ts_cal(0) = (meas.getLocalPosition())[0];
124 ts_cal_cov.setZero();
125 ts_cal_cov(0, 0) = (meas.getLocalCovariance())[0];
127 Acts::ActsMatrix<2, 6> projector;
129 projector(0, 0) = 1.;
130 projector(1, 1) = 1.;
131 trackState.setProjector(projector.row(0));
132 trackState.setUncalibratedSourceLink(genericSourceLink);