@@ -517,10 +517,11 @@ calculatePredictedResidual(track_state_proxy_t trackState) {
517
517
}
518
518
519
519
auto subspaceHelper =
520
- trackState.template fixedBoundSubspaceHelper <nMeasurementDim>();
520
+ trackState.template projectorSubspaceHelper <nMeasurementDim>();
521
521
522
- auto measurement = trackState.calibrated ();
523
- auto measurementCovariance = trackState.calibratedCovariance ();
522
+ auto measurement = trackState.template calibrated <nMeasurementDim>();
523
+ auto measurementCovariance =
524
+ trackState.template calibratedCovariance <nMeasurementDim>();
524
525
MeasurementVector predicted =
525
526
subspaceHelper.projectVector (trackState.predicted ());
526
527
MeasurementMatrix predictedCovariance =
@@ -553,10 +554,11 @@ calculateFilteredResidual(track_state_proxy_t trackState) {
553
554
}
554
555
555
556
auto subspaceHelper =
556
- trackState.template fixedBoundSubspaceHelper <nMeasurementDim>();
557
+ trackState.template projectorSubspaceHelper <nMeasurementDim>();
557
558
558
- auto measurement = trackState.calibrated ();
559
- auto measurementCovariance = trackState.calibratedCovariance ();
559
+ auto measurement = trackState.template calibrated <nMeasurementDim>();
560
+ auto measurementCovariance =
561
+ trackState.template calibratedCovariance <nMeasurementDim>();
560
562
MeasurementVector filtered =
561
563
subspaceHelper.projectVector (trackState.filtered ());
562
564
MeasurementMatrix filteredCovariance =
@@ -589,10 +591,11 @@ calculateSmoothedResidual(track_state_proxy_t trackState) {
589
591
}
590
592
591
593
auto subspaceHelper =
592
- trackState.template fixedBoundSubspaceHelper <nMeasurementDim>();
594
+ trackState.template projectorSubspaceHelper <nMeasurementDim>();
593
595
594
- auto measurement = trackState.calibrated ();
595
- auto measurementCovariance = trackState.calibratedCovariance ();
596
+ auto measurement = trackState.template calibrated <nMeasurementDim>();
597
+ auto measurementCovariance =
598
+ trackState.template calibratedCovariance <nMeasurementDim>();
596
599
MeasurementVector smoothed =
597
600
subspaceHelper.projectVector (trackState.smoothed ());
598
601
MeasurementMatrix smoothedCovariance =
@@ -620,11 +623,13 @@ double calculatePredictedChi2(track_state_proxy_t trackState) {
620
623
621
624
return visit_measurement (
622
625
trackState.calibratedSize (),
623
- [&]<std::size_t measdim>(std::integral_constant<std::size_t , measdim>) {
626
+ [&]<std::size_t measdim>(
627
+ std::integral_constant<std::size_t , measdim>) -> double {
624
628
auto [residual, residualCovariance] =
625
629
calculatePredictedResidual<measdim>(trackState);
626
630
627
- return residual.transpose () * residualCovariance.inverse () * residual;
631
+ return (residual.transpose () * residualCovariance.inverse () * residual)
632
+ .eval ()(0 , 0 );
628
633
});
629
634
}
630
635
@@ -643,11 +648,13 @@ double calculateFilteredChi2(track_state_proxy_t trackState) {
643
648
644
649
return visit_measurement (
645
650
trackState.calibratedSize (),
646
- [&]<std::size_t measdim>(std::integral_constant<std::size_t , measdim>) {
651
+ [&]<std::size_t measdim>(
652
+ std::integral_constant<std::size_t , measdim>) -> double {
647
653
auto [residual, residualCovariance] =
648
654
calculateFilteredResidual<measdim>(trackState);
649
655
650
- return residual.transpose () * residualCovariance.inverse () * residual;
656
+ return (residual.transpose () * residualCovariance.inverse () * residual)
657
+ .eval ()(0 , 0 );
651
658
});
652
659
}
653
660
@@ -666,11 +673,13 @@ double calculateSmoothedChi2(track_state_proxy_t trackState) {
666
673
667
674
return visit_measurement (
668
675
trackState.calibratedSize (),
669
- [&]<std::size_t measdim>(std::integral_constant<std::size_t , measdim>) {
676
+ [&]<std::size_t measdim>(
677
+ std::integral_constant<std::size_t , measdim>) -> double {
670
678
auto [residual, residualCovariance] =
671
679
calculateSmoothedResidual<measdim>(trackState);
672
680
673
- return residual.transpose () * residualCovariance.inverse () * residual;
681
+ return (residual.transpose () * residualCovariance.inverse () * residual)
682
+ .eval ()(0 , 0 );
674
683
});
675
684
}
676
685
0 commit comments