ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
Acts
ActsCalibration
ActsCalibrators
ActsCalibrators
xAODUncalibMeasCalibrator.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
#ifndef ACTSCALIBRATION_DETAIL_XAODUNCALIBMEASCALIBRATOR_H
5
#define ACTSCALIBRATION_DETAIL_XAODUNCALIBMEASCALIBRATOR_H
6
7
#include "
ActsCalibBase/MeasurementCalibratorBase.h
"
8
#include "
xAODMeasurementBase/UncalibratedMeasurement.h
"
9
#include "
ActsEvent/TrackContainer.h
"
10
#include "Acts/TrackFitting/GlobalChiSquareFitter.hpp"
11
#include "Acts/Utilities/Helpers.hpp"
12
#include "
CxxUtils/ArrayHelper.h
"
13
14
namespace
ActsTrk::detail
{
20
class
xAODUncalibMeasCalibrator
:
public
MeasurementCalibratorBase
{
21
public
:
23
xAODUncalibMeasCalibrator
();
26
static
const
xAOD::UncalibratedMeasurement
*
unpack
(
const
Acts::SourceLink& sl);
31
template
<auto Callable,
typename
Type>
32
void
connect
(
const
xAOD::UncalibMeasType
type
,
const
Type
*
instance
) {
33
assert(
instance
);
34
m_calibrators
[
static_cast<
int
>
(
type
)].
connect<Callable>
(
instance
);
35
}
36
46
void
calibrate
(
const
Acts::GeometryContext& gctx,
47
const
Acts::CalibrationContext& cctx,
48
const
Acts::SourceLink& sl,
49
const
MutableTrackStateBackend::TrackStateProxy trackState)
const
;
50
private
:
60
void
invalidCalibrator
(
const
Acts::GeometryContext& gctx,
61
const
Acts::CalibrationContext& cctx,
62
const
Acts::SourceLink& sl,
63
MutableTrackStateBackend::TrackStateProxy trackState)
const
;
71
void
auxillaryCalibrator
(
const
Acts::GeometryContext& gctx,
72
const
Acts::CalibrationContext& cctx,
73
const
Acts::SourceLink& sl,
74
MutableTrackStateBackend::TrackStateProxy trackState)
const
;
77
using
CalibDelegate
= Acts::Experimental::Gx2FitterExtensions<MutableTrackStateBackend>::Calibrator;
78
constexpr
static
std::size_t
s_nMeasTypes
= Acts::toUnderlying(
xAOD::UncalibMeasType::nTypes
);
81
std::array<CalibDelegate, s_nMeasTypes>
m_calibrators
{};
82
83
84
85
};
86
}
87
88
#endif
ArrayHelper.h
MeasurementCalibratorBase.h
instance
std::map< std::string, double > instance
Definition
Run_To_Get_Tags.h:8
TrackContainer.h
UncalibratedMeasurement.h
ActsTrk::detail::MeasurementCalibratorBase::MeasurementCalibratorBase
MeasurementCalibratorBase()=default
ActsTrk::detail::xAODUncalibMeasCalibrator::m_calibrators
std::array< CalibDelegate, s_nMeasTypes > m_calibrators
Dispatch table of the calibrators per measurement type.
Definition
xAODUncalibMeasCalibrator.h:81
ActsTrk::detail::xAODUncalibMeasCalibrator::CalibDelegate
Acts::Experimental::Gx2FitterExtensions< MutableTrackStateBackend >::Calibrator CalibDelegate
Abrivation for the calibrator delegate.
Definition
xAODUncalibMeasCalibrator.h:77
ActsTrk::detail::xAODUncalibMeasCalibrator::auxillaryCalibrator
void auxillaryCalibrator(const Acts::GeometryContext &gctx, const Acts::CalibrationContext &cctx, const Acts::SourceLink &sl, MutableTrackStateBackend::TrackStateProxy trackState) const
Delegate method for the Auxiliary measurements.
Definition
xAODUncalibMeasCalibrator.cxx:29
ActsTrk::detail::xAODUncalibMeasCalibrator::calibrate
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 ...
Definition
xAODUncalibMeasCalibrator.cxx:55
ActsTrk::detail::xAODUncalibMeasCalibrator::xAODUncalibMeasCalibrator
xAODUncalibMeasCalibrator()
Empty default constructor.
Definition
xAODUncalibMeasCalibrator.cxx:14
ActsTrk::detail::xAODUncalibMeasCalibrator::unpack
static const xAOD::UncalibratedMeasurement * unpack(const Acts::SourceLink &sl)
Helper method to unpack an Acts source link to an uncalibrated measurement.
Definition
xAODUncalibMeasCalibrator.cxx:9
ActsTrk::detail::xAODUncalibMeasCalibrator::s_nMeasTypes
static constexpr std::size_t s_nMeasTypes
Definition
xAODUncalibMeasCalibrator.h:78
ActsTrk::detail::xAODUncalibMeasCalibrator::connect
void connect(const xAOD::UncalibMeasType type, const Type *instance)
Register a calibrator implementation instance for a given measurement type.
Definition
xAODUncalibMeasCalibrator.h:32
ActsTrk::detail::xAODUncalibMeasCalibrator::invalidCalibrator
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.
Definition
xAODUncalibMeasCalibrator.cxx:22
ActsTrk::detail
Hash functions to pack the source link into unordered_maps / unordered_sets.
Definition
MeasurementCalibratorBase.h:31
xAOD::UncalibratedMeasurement
UncalibratedMeasurement_v1 UncalibratedMeasurement
Define the version of the uncalibrated measurement class.
Definition
UncalibratedMeasurementFwd.h:13
xAOD::UncalibMeasType
UncalibMeasType
Define the type of the uncalibrated measurement.
Definition
MeasurementDefs.h:24
xAOD::UncalibMeasType::nTypes
@ nTypes
Definition
MeasurementDefs.h:38
type
Type
Generated on
for ATLAS Offline Software by
1.17.0