6#include "GeoModelKernel/throwExcept.h"
10 return Acts::SourceLink{meas};
14 assert(meas !=
nullptr);
26 const Acts::CalibrationContext& ,
27 const Acts::SourceLink& sl,
28 MutableTrackStateBackend::TrackStateProxy )
const {
33 const Acts::CalibrationContext& ,
34 const Acts::SourceLink& sl,
35 MutableTrackStateBackend::TrackStateProxy trackState)
const {
40 switch(pMeas->numDimensions()) {
43 pMeas->localCovariance<1>(), sl, trackState);
47 pMeas->localCovariance<2>(), sl, trackState);
51 pMeas->localCovariance<3>(), sl, trackState);
59 const Acts::CalibrationContext & cctx,
60 const Acts::SourceLink& sl,
61 const MutableTrackStateBackend::TrackStateProxy trackState)
const {
66 delegate(gctx, cctx, sl, trackState);
void setState(const ProjectorType projector, const pos_t &locpos, const cov_t &cov, Acts::SourceLink link, TrackState_t< trajectory_t > &trackState) const
Copy the local position & covariance into the Acts track state proxy.
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.
void connect(const xAOD::UncalibMeasType type, const Type *instance)
Register a calibrator implementation instance for a given measurement type.
const xAOD::UncalibratedMeasurement * SourceLink_t
Underlying source link type of the uncalibrated measurement.
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.
static Acts::SourceLink pack(const xAOD::UncalibratedMeasurement *meas)
Helper method to pack an uncalibrated measurement to an Acts source link.
virtual xAOD::UncalibMeasType type() const =0
Returns the type of the measurement type as a simple enumeration.
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
Athena definition of the Eigen plugin.
AuxiliaryMeasurement_v1 AuxiliaryMeasurement
UncalibMeasType
Define the type of the uncalibrated measurement.
UncalibratedMeasurement_v1 UncalibratedMeasurement
Define the version of the uncalibrated measurement class.
#define THROW_EXCEPTION(MESSAGE)