From 77d295ebeda3ce4932833e14f28b06c5cb8d7a92 Mon Sep 17 00:00:00 2001 From: Edward Moyse <Edward.Moyse@cern.ch> Date: Fri, 20 May 2016 12:41:40 +0200 Subject: [PATCH] IResidualPullCalculator.h: Added new interface for alignment effects on track (TrkToolInterfaces-01-03-11) * IResidualPullCalculator.h: Added new interface for alignment effects on track * Tagged as TrkToolInterfaces-01-03-11 Former-commit-id: 3e46737ea82ac47ad89e3e51562e6ceeb8745e2c --- .../TrkToolInterfaces/IResidualPullCalculator.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/IResidualPullCalculator.h b/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/IResidualPullCalculator.h index b094bff73cb..11814fa5210 100755 --- a/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/IResidualPullCalculator.h +++ b/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/IResidualPullCalculator.h @@ -23,6 +23,7 @@ namespace Trk { static const InterfaceID IID_IResidualPullCalculator("IResidualPullCalculator",1,0); class MeasurementBase; +class AlignmentEffectsOnTrack; /** @class IResidualPullCalculator @brief provides the interface for tools which calculate residuals and pulls. @@ -48,6 +49,22 @@ public: const Trk::TrackParameters*, const Trk::ResidualPull::ResidualType residualType, const TrackState::MeasurementType = TrackState::unidentified) const = 0; + + /**This function returns (creates!) a Trk::ResidualPull object, which contains the values + * of residual and pull for the given measurement and track state, and the Alignment effects. + * The track state can be an unbiased one (which can be retrieved by the Trk::IUpdator), + * a biased one (which contains the measurement), + * or a truth state. + * The enum residualTyp must be set according to this, otherwise the pulls will be wrong. + * Residuals differ in all three cases; please be aware of this. + * + * This function determines the sub-detector type itself by using the ID helper*/ + virtual const Trk::ResidualPull* residualPull( + const Trk::MeasurementBase* , + const Trk::TrackParameters* , + const Trk::ResidualPull::ResidualType , + const Trk::TrackState::MeasurementType, + const std::vector<Trk::AlignmentEffectsOnTrack*>& ) const { return (Trk::ResidualPull*) 0; } /** This function is a light-weight version of the function above, designed for track fitters * where speed is critical. The user has to provide a std::vector of size 5, which gets -- GitLab