4#ifndef ACTSCALIBRATION_DETAIL_XAODUNCALIBMEASCALIBRATOR_H
5#define ACTSCALIBRATION_DETAIL_XAODUNCALIBMEASCALIBRATOR_H
10#include "Acts/TrackFitting/GlobalChiSquareFitter.hpp"
11#include "Acts/Utilities/Helpers.hpp"
31 template <auto Callable,
typename Type>
46 void calibrate(
const Acts::GeometryContext& gctx,
47 const Acts::CalibrationContext& cctx,
48 const Acts::SourceLink& sl,
49 const MutableTrackStateBackend::TrackStateProxy trackState)
const;
61 const Acts::CalibrationContext& cctx,
62 const Acts::SourceLink& sl,
63 MutableTrackStateBackend::TrackStateProxy trackState)
const;
72 const Acts::CalibrationContext& cctx,
73 const Acts::SourceLink& sl,
74 MutableTrackStateBackend::TrackStateProxy trackState)
const;
77 using CalibDelegate = Acts::Experimental::Gx2FitterExtensions<MutableTrackStateBackend>::Calibrator;
MeasurementCalibratorBase()=default
std::array< CalibDelegate, s_nMeasTypes > m_calibrators
Dispatch table of the calibrators per measurement type.
Acts::Experimental::Gx2FitterExtensions< MutableTrackStateBackend >::Calibrator CalibDelegate
Abrivation for the calibrator delegate.
void auxillaryCalibrator(const Acts::GeometryContext &gctx, const Acts::CalibrationContext &cctx, const Acts::SourceLink &sl, MutableTrackStateBackend::TrackStateProxy trackState) const
Delegate method for the Auxiliary measurements.
void calibrate(const Acts::GeometryContext &gctx, const Acts::CalibrationContext &cctx, const Acts::SourceLink &sl, const MutableTrackStateBackend::TrackStateProxy trackState) const
: Interface method for the Acts fitter to calibrate the trajectory track states from the source link ...
xAODUncalibMeasCalibrator()
Empty default constructor.
static const xAOD::UncalibratedMeasurement * unpack(const Acts::SourceLink &sl)
Helper method to unpack an Acts source link to an uncalibrated measurement.
static constexpr std::size_t s_nMeasTypes
void connect(const xAOD::UncalibMeasType type, const Type *instance)
Register a calibrator implementation instance for a given measurement type.
void invalidCalibrator(const Acts::GeometryContext &gctx, const Acts::CalibrationContext &cctx, const Acts::SourceLink &sl, MutableTrackStateBackend::TrackStateProxy trackState) const
Delegate method that's assigned during the construction phase of this class.
Hash functions to pack the source link into unordered_maps / unordered_sets.
UncalibratedMeasurement_v1 UncalibratedMeasurement
Define the version of the uncalibrated measurement class.
UncalibMeasType
Define the type of the uncalibrated measurement.