ATLAS Offline Software
Loading...
Searching...
No Matches
IResidualPullCalculator.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
6// IResidualPullCalculator.h
7// Header file for interface of ResidualPullCalculator
9// (c) ATLAS Detector software
11// Sebastian.Fleischmann@cern.ch
13
14#ifndef TRK_IRESIDUALPULLCALCULATOR_H
15#define TRK_IRESIDUALPULLCALCULATOR_H
16
17#include "GaudiKernel/IAlgTool.h"
18#include "TrkParameters/TrackParameters.h" // typedef
21#include <array>
22#include <optional>
23
24namespace Trk {
25static const InterfaceID IID_IResidualPullCalculator("IResidualPullCalculator",1,0);
26
27class MeasurementBase;
29
34
35class IResidualPullCalculator : virtual public IAlgTool {
36public:
38 static const InterfaceID& interfaceID();
39
49 virtual std::optional<Trk::ResidualPull> residualPull(
51 const Trk::ResidualPull::ResidualType residualType,
53
64 virtual std::optional<Trk::ResidualPull> residualPull(
69 const std::vector<const Trk::AlignmentEffectsOnTrack*>&) const {
70 return std::nullopt;
71 }
72
77 virtual std::array<double,5> residuals(
80 const Trk::ResidualPull::ResidualType residualType,
82};
83
87
88} // end of namespace
89
90#endif // TRK_IRESIDUALPULLCALCULATOR_H
Class to represent misalignments or 'discontinuities' on tracks These have a surface where the z axis...
provides the interface for tools which calculate residuals and pulls.
static const InterfaceID & interfaceID()
Interface ID, declared here, and defined below.
virtual std::optional< Trk::ResidualPull > residualPull(const Trk::MeasurementBase *, const Trk::TrackParameters *, const Trk::ResidualPull::ResidualType residualType, const TrackState::MeasurementType=TrackState::unidentified) const =0
This function returns a Trk::ResidualPull object, which contains the values of residual and pull for ...
virtual std::optional< Trk::ResidualPull > residualPull(const Trk::MeasurementBase *, const Trk::TrackParameters *, const Trk::ResidualPull::ResidualType, const Trk::TrackState::MeasurementType, const std::vector< const Trk::AlignmentEffectsOnTrack * > &) const
This function returns (creates!) a Trk::ResidualPull object, which contains the values of residual an...
virtual std::array< double, 5 > residuals(const Trk::MeasurementBase *, const Trk::TrackParameters *, const Trk::ResidualPull::ResidualType residualType, const TrackState::MeasurementType=TrackState::unidentified) const =0
This function is a light-weight version of the function above, designed for track fitters where speed...
This class is the pure abstract base class for all fittable tracking measurements.
MeasurementType
enum describing the flavour of MeasurementBase
Ensure that the ATLAS eigen extensions are properly loaded.
static const InterfaceID IID_IResidualPullCalculator("IResidualPullCalculator", 1, 0)
ParametersBase< TrackParametersDim, Charged > TrackParameters