ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkTools
TrkToolInterfaces
TrkToolInterfaces
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
19
#include "
TrkEventPrimitives/TrackStateDefs.h
"
20
#include "
TrkEventPrimitives/ResidualPull.h
"
21
#include <array>
22
#include <optional>
23
24
namespace
Trk
{
25
static
const
InterfaceID
IID_IResidualPullCalculator
(
"IResidualPullCalculator"
,1,0);
26
27
class
MeasurementBase
;
28
class
AlignmentEffectsOnTrack
;
29
34
35
class
IResidualPullCalculator
:
virtual
public
IAlgTool {
36
public
:
38
static
const
InterfaceID&
interfaceID
();
39
49
virtual
std::optional<Trk::ResidualPull>
residualPull
(
50
const
Trk::MeasurementBase
*,
const
Trk::TrackParameters
*,
51
const
Trk::ResidualPull::ResidualType
residualType,
52
const
TrackState::MeasurementType
=
TrackState::unidentified
)
const
= 0;
53
64
virtual
std::optional<Trk::ResidualPull>
residualPull
(
65
const
Trk::MeasurementBase
*,
66
const
Trk::TrackParameters
*,
67
const
Trk::ResidualPull::ResidualType
,
68
const
Trk::TrackState::MeasurementType
,
69
const
std::vector<const Trk::AlignmentEffectsOnTrack*>&)
const
{
70
return
std::nullopt;
71
}
72
77
virtual
std::array<double,5>
residuals
(
78
const
Trk::MeasurementBase
*,
79
const
Trk::TrackParameters
*,
80
const
Trk::ResidualPull::ResidualType
residualType,
81
const
TrackState::MeasurementType
=
TrackState::unidentified
)
const
= 0;
82
};
83
84
inline
const
InterfaceID&
Trk::IResidualPullCalculator::interfaceID
() {
85
return
IID_IResidualPullCalculator
;
86
}
87
88
}
// end of namespace
89
90
#endif
// TRK_IRESIDUALPULLCALCULATOR_H
ResidualPull.h
TrackStateDefs.h
TrackParameters.h
Trk::AlignmentEffectsOnTrack
Class to represent misalignments or 'discontinuities' on tracks These have a surface where the z axis...
Definition
AlignmentEffectsOnTrack.h:24
Trk::IResidualPullCalculator
provides the interface for tools which calculate residuals and pulls.
Definition
IResidualPullCalculator.h:35
Trk::IResidualPullCalculator::interfaceID
static const InterfaceID & interfaceID()
Interface ID, declared here, and defined below.
Definition
IResidualPullCalculator.h:84
Trk::IResidualPullCalculator::residualPull
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 ...
Trk::IResidualPullCalculator::residualPull
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...
Definition
IResidualPullCalculator.h:64
Trk::IResidualPullCalculator::residuals
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...
Trk::MeasurementBase
This class is the pure abstract base class for all fittable tracking measurements.
Definition
MeasurementBase.h:58
Trk::ResidualPull::ResidualType
ResidualType
Definition
ResidualPull.h:53
Trk::TrackState::MeasurementType
MeasurementType
enum describing the flavour of MeasurementBase
Definition
TrackStateDefs.h:26
Trk::TrackState::unidentified
@ unidentified
Definition
TrackStateDefs.h:27
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Trk::IID_IResidualPullCalculator
static const InterfaceID IID_IResidualPullCalculator("IResidualPullCalculator", 1, 0)
Trk::TrackParameters
ParametersBase< TrackParametersDim, Charged > TrackParameters
Definition
Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:27
Generated on
for ATLAS Offline Software by
1.17.0