ATLAS Offline Software
Loading...
Searching...
No Matches
ActsTrk::detail::RefittingCalibrator Class Reference

#include <RefittingCalibrator.h>

Collaboration diagram for ActsTrk::detail::RefittingCalibrator:

Classes

Public Types

using MutableTrackStateProxy
using ConstTrackStateProxy

Public Member Functions

void calibrate (const Acts::GeometryContext &gctx, const Acts::CalibrationContext &cctx, const Acts::SourceLink &sourceLink, MutableTrackStateProxy trackState) const

Static Public Member Functions

static const Acts::Surface * accessSurface (const Acts::SourceLink &sourceLink)

Detailed Description

Definition at line 19 of file RefittingCalibrator.h.

Member Typedef Documentation

◆ ConstTrackStateProxy

Initial value:
ActsTrk::MutableTrackStateBackend::ConstTrackStateProxy

Definition at line 23 of file RefittingCalibrator.h.

◆ MutableTrackStateProxy

Initial value:
ActsTrk::MutableTrackStateBackend::TrackStateProxy

Definition at line 21 of file RefittingCalibrator.h.

Member Function Documentation

◆ accessSurface()

const Acts::Surface * ActsTrk::detail::RefittingCalibrator::accessSurface ( const Acts::SourceLink & sourceLink)
inlinestatic

Definition at line 37 of file RefittingCalibrator.h.

38 {
39 const auto& refittingSl = sourceLink.get<RefittingSourceLink>();
40 return &refittingSl.state.referenceSurface();
41 }

◆ calibrate()

void ActsTrk::detail::RefittingCalibrator::calibrate ( const Acts::GeometryContext & gctx,
const Acts::CalibrationContext & cctx,
const Acts::SourceLink & sourceLink,
MutableTrackStateProxy trackState ) const

Definition at line 14 of file RefittingCalibrator.cxx.

17 {
18 const auto& sl = sourceLink.get<RefittingSourceLink>();
19
20 // Reset the original uncalibrated source link on this track state
21 trackState.setUncalibratedSourceLink(sl.state.getUncalibratedSourceLink());
22
23 // Here we construct a measurement by extracting the information available
24 // in the state
25 Acts::visit_measurement(sl.state.calibratedSize(), [&](auto N) {
26 constexpr int Size = decltype(N)::value;
27
28 trackState.allocateCalibrated(
29 sl.state.template calibrated<Size>().eval(),
30 sl.state.template calibratedCovariance<Size>().eval());
31 });
32
33 if (!sl.state.projectorSubspaceIndices().empty()) {
34 trackState.setProjectorSubspaceIndices(sl.state.projectorSubspaceIndices());
35 }
36}

The documentation for this class was generated from the following files: