ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
Acts
ActsTrackReconstruction
src
detail
RefittingCalibrator.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
src/detail/RefittingCalibrator.h
"
6
7
#include "Acts/Definitions/Algebra.hpp"
8
#include "Acts/EventData/MeasurementHelpers.hpp"
9
#include "Acts/EventData/SourceLink.hpp"
10
#include "Acts/Utilities/CalibrationContext.hpp"
11
12
namespace
ActsTrk::detail
{
13
14
RefittingCalibrator::RefittingCalibrator
(
const
ActsTrk::IGeometryRealmConvTool
* convTool,
15
const
Trk::IRIO_OnTrackCreator
* rotCreator):
16
m_prdCalibrator
{convTool, rotCreator}{}
17
18
void
RefittingCalibrator::calibrate
(
const
Acts::GeometryContext& gctx,
19
const
Acts::CalibrationContext& cctx,
20
const
Acts::SourceLink& sourceLink,
21
MutableTrackStateProxy
trackState)
const
{
22
23
switch
(
MeasurementCalibratorBase::getType
(sourceLink)) {
24
using
enum
SourceLinkType
;
25
case
TrkMeasurement
:
26
m_measCalibrator
.calibrate(gctx, cctx, sourceLink, trackState);
27
break
;
28
case
TrkPrepRawData
:
29
m_prdCalibrator
.calibrate(gctx, cctx, sourceLink, trackState);
30
break
;
31
case
xAODUnCalibMeas
:
32
m_xAODCalibrator
.calibrate(gctx, cctx, sourceLink, trackState);
33
break
;
34
default
:
35
THROW_EXCEPTION
(
"Unsupported source link type "
<<
MeasurementCalibratorBase::getType
(sourceLink));
36
}
37
}
38
39
40
//##########################################################################
41
// RefittingSurfaceAccesor
42
//##########################################################################
43
RefittingSurfaceAccesor::RefittingSurfaceAccesor
(
const
IGeometryRealmConvTool
* trkConvTool,
44
const
ITrackingGeometrySvc
* trackGeoSvc):
45
m_xAODAcc
{trackGeoSvc},
m_prdAcc
{trkConvTool},
m_rotAcc
{trkConvTool} {}
46
47
const
Acts::Surface*
RefittingSurfaceAccesor::operator()
(
const
Acts::SourceLink& sourceLink)
const
{
48
switch
(
MeasurementCalibratorBase::getType
(sourceLink)) {
49
using
enum
SourceLinkType
;
50
case
TrkMeasurement
:
return
m_rotAcc
(sourceLink);
51
case
TrkPrepRawData
:
return
m_prdAcc
(sourceLink);
52
case
xAODUnCalibMeas
:
return
m_xAODAcc
(sourceLink);
53
default
:
54
THROW_EXCEPTION
(
"Unsupported source link type "
<<
MeasurementCalibratorBase::getType
(sourceLink));
55
}
56
return
nullptr
;
57
}
58
59
60
}
// namespace ActsTrk::detail
RefittingCalibrator.h
ActsTrk::IGeometryRealmConvTool
Interface for the conversion tool to translate the surface and track parameter objects between the Ac...
Definition
IGeometryRealmConvTool.h:33
ActsTrk::ITrackingGeometrySvc
Interface class for the ATLAS service providing the ActsTrackingGeometry.
Definition
Acts/ActsGeometryInterfaces/ActsGeometryInterfaces/ITrackingGeometrySvc.h:31
ActsTrk::detail::MeasurementCalibratorBase::getType
static SourceLinkType getType(const Acts::SourceLink &sl)
Returns the enumeration corresponding to the object type cached within the Acts::SourceLink.
ActsTrk::detail::RefittingCalibrator::m_prdCalibrator
TrkPrepRawDataCalibrator m_prdCalibrator
Definition
RefittingCalibrator.h:48
ActsTrk::detail::RefittingCalibrator::RefittingCalibrator
RefittingCalibrator(const ActsTrk::IGeometryRealmConvTool *convTool, const Trk::IRIO_OnTrackCreator *rotCreator)
Definition
RefittingCalibrator.cxx:14
ActsTrk::detail::RefittingCalibrator::calibrate
void calibrate(const Acts::GeometryContext &gctx, const Acts::CalibrationContext &cctx, const Acts::SourceLink &sourceLink, MutableTrackStateProxy trackState) const
Definition
RefittingCalibrator.cxx:18
ActsTrk::detail::RefittingCalibrator::MutableTrackStateProxy
ActsTrk::MutableTrackStateBackend::TrackStateProxy MutableTrackStateProxy
Definition
RefittingCalibrator.h:34
ActsTrk::detail::RefittingCalibrator::m_measCalibrator
TrkMeasurementCalibrator m_measCalibrator
Definition
RefittingCalibrator.h:49
ActsTrk::detail::RefittingCalibrator::m_xAODCalibrator
xAODUncalibMeasCalibrator m_xAODCalibrator
Definition
RefittingCalibrator.h:50
ActsTrk::detail::RefittingSurfaceAccesor::RefittingSurfaceAccesor
RefittingSurfaceAccesor(const IGeometryRealmConvTool *trkConvTool, const ActsTrk::ITrackingGeometrySvc *trackGeoSvc)
Definition
RefittingCalibrator.cxx:43
ActsTrk::detail::RefittingSurfaceAccesor::m_prdAcc
TrkPrepRawDataSurfaceAcc m_prdAcc
Definition
RefittingCalibrator.h:63
ActsTrk::detail::RefittingSurfaceAccesor::operator()
const Acts::Surface * operator()(const Acts::SourceLink &sourceLink) const
Operator called by the Acts API to fetch the surface.
Definition
RefittingCalibrator.cxx:47
ActsTrk::detail::RefittingSurfaceAccesor::m_xAODAcc
xAODUncalibMeasSurfAcc m_xAODAcc
Definition
RefittingCalibrator.h:62
ActsTrk::detail::RefittingSurfaceAccesor::m_rotAcc
TrkMeasSurfaceAccessor m_rotAcc
Definition
RefittingCalibrator.h:64
Trk::IRIO_OnTrackCreator
Interface class for transforming Trk::PrepRawData to Trk::RIO_OnTrack using a local track hypothesis.
Definition
IRIO_OnTrackCreator.h:34
ActsTrk::detail
Hash functions to pack the source link into unordered_maps / unordered_sets.
Definition
MeasurementCalibratorBase.h:31
ActsTrk::detail::SourceLinkType
SourceLinkType
Enumeration to distinguish between the ATLAS EDM -> Acts::SourceLink variants.
Definition
SourceLinkType.h:12
ActsTrk::detail::SourceLinkType::xAODUnCalibMeas
@ xAODUnCalibMeas
UnCalibrated Trk::PrepRawData objects.
Definition
SourceLinkType.h:15
ActsTrk::detail::SourceLinkType::TrkPrepRawData
@ TrkPrepRawData
Calibrated Trk::MeasurementBase objects.
Definition
SourceLinkType.h:14
ActsTrk::detail::SourceLinkType::TrkMeasurement
@ TrkMeasurement
Definition
SourceLinkType.h:13
THROW_EXCEPTION
#define THROW_EXCEPTION(MESSAGE)
Definition
throwExcept.h:10
Generated on
for ATLAS Offline Software by
1.17.0