![]() |
ATLAS Offline Software
|
Source link calibrator implementation for xAOD::Uncalibrated measurements. More...
#include <xAODUncalibMeasCalibrator.h>
Public Types | |
using | SourceLink_t = const xAOD::UncalibratedMeasurement * |
Underlying source link type of the uncalibrated measurement More... | |
enum | ProjectorType { ProjectorType::e1DimNoTime = 0, ProjectorType::e1DimRotNoTime = 1, ProjectorType::e2DimNoTime = 2, ProjectorType::e1DimWithTime = 3, ProjectorType::e1DimRotWithTime = 4, ProjectorType::e2DimWithTime = 5 } |
Enum encoding the possible projectors used in ATLAS. More... | |
template<typename trajectory_t > | |
using | TrackState_t = typename Acts::MultiTrajectory< trajectory_t >::TrackStateProxy |
Abbrivation of the track state proxy type. More... | |
template<typename trajectory_t > | |
using | ConstTrackState_t = typename Acts::MultiTrajectory< trajectory_t >::ConstTrackStateProxy |
Abbrivation of the const track state proxy type. More... | |
Public Member Functions | |
xAODUncalibMeasCalibrator () | |
Empty default constructor. More... | |
template<auto Callable, typename Type > | |
void | connect (const xAOD::UncalibMeasType type, const Type *instance) |
Register a calibrator implementation instance for a given measurement type. More... | |
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 The source link is unpacked to access the measurement type and then to forward the calibration to the registered calibrator. More... | |
template<std::size_t Dim, typename trajectory_t , typename pos_t , typename cov_t > | |
void | setState (const ProjectorType projector, const pos_t &locpos, const cov_t &cov, Acts::SourceLink link, TrackState_t< trajectory_t > &trackState) const |
Copy the local position & covariance into the Acts track state proxy. More... | |
Static Public Member Functions | |
static Acts::SourceLink | pack (const xAOD::UncalibratedMeasurement *meas) |
Helper method to pack an uncalibrated measurement to an Acts source link. More... | |
static const xAOD::UncalibratedMeasurement * | unpack (const Acts::SourceLink &sl) |
Helper method to unpack an Acts source link to an uncalibrated measurement. More... | |
Private Types | |
using | CalibDelegate = Acts::Experimental::Gx2FitterExtensions< MutableTrackStateBackend >::Calibrator |
Abrivation for the calibrator delegate. More... | |
Private Member Functions | |
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. More... | |
void | auxillaryCalibrator (const Acts::GeometryContext &gctx, const Acts::CalibrationContext &cctx, const Acts::SourceLink &sl, MutableTrackStateBackend::TrackStateProxy trackState) const |
Delegate method for the Auxiliary measurements. More... | |
Private Attributes | |
std::array< CalibDelegate, s_nMeasTypes > | m_calibrators {} |
Dispatch table of the calibrators per measurement type. More... | |
Static Private Attributes | |
constexpr static int | s_nMeasTypes = static_cast<int>(xAOD::UncalibMeasType::nTypes) |
constexpr static std::array< Acts::BoundSubspaceIndices, 6 > | s_boundSpaceIndices |
Array to map the Projector types to the bound index configurations used by the ATLAS detector measurements. More... | |
Source link calibrator implementation for xAOD::Uncalibrated measurements.
The class provides the methods to pack & unpack Acts::SourceLinks from Uncalibrated measurements and also the calibrate method which will be connected to the Acts::Fitter's calibrator delegator. However, this method is nothing else than a forward dispatch table, which is calling other instances of calibrators doing the actual work. For each measurement type to calibrate, the actual calibrator needs to be connected with this class instance
Definition at line 19 of file xAODUncalibMeasCalibrator.h.
|
private |
Abrivation for the calibrator delegate.
The signature of all delegates should be shared accross all fitters implemented in Acts
Definition at line 81 of file xAODUncalibMeasCalibrator.h.
|
inherited |
Abbrivation of the const track state proxy type.
Definition at line 44 of file MeasurementCalibratorBase.h.
using ActsTrk::detail::xAODUncalibMeasCalibrator::SourceLink_t = const xAOD::UncalibratedMeasurement* |
Underlying source link type of the uncalibrated measurement
Definition at line 24 of file xAODUncalibMeasCalibrator.h.
|
inherited |
Abbrivation of the track state proxy type.
Definition at line 41 of file MeasurementCalibratorBase.h.
|
stronginherited |
Enum encoding the possible projectors used in ATLAS.
Their integer representations correspond to the element index in the s_boundSpaceIndices member
Enumerator | |
---|---|
e1DimNoTime | |
e1DimRotNoTime | Project out solely the locX (Applies to Itk strips, Rpc, Tgc, sTgc, Mm) |
e2DimNoTime | Project out solely the locY - Complementary projector if the strip plane is rotated (Applies to Itk endcap strips, Rpc, Tgc, sTgc) |
e1DimWithTime | Project out the two spatial coordinates - (Applies to ITk pixel, BI-Rpc, sTgc pad) |
e1DimRotWithTime | Project out the locX & time coordinate - (Applies to Rpc, Tgc, Mm, sTgc) |
e2DimWithTime | Project out the locY & time coordinate - (Applies to Rpc, Tgc, sTgc) |
Definition at line 29 of file MeasurementCalibratorBase.h.
ActsTrk::detail::xAODUncalibMeasCalibrator::xAODUncalibMeasCalibrator | ( | ) |
|
private |
Delegate method for the Auxiliary measurements.
gctx | Geometry context passed to access the global alignment |
cctx | Calibration context which is a wrapped Gaudi::EventContext* to retrieve extra information from store gate |
sl | Reference to the source link having the calibrated measurement packed |
trackState | Proxy to the track state into which the calibrated measurement parameters are copied. |
Definition at line 32 of file xAODUncalibMeasCalibrator.cxx.
void ActsTrk::detail::xAODUncalibMeasCalibrator::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 The source link is unpacked to access the measurement type and then to forward the calibration to the registered calibrator.
If no calibrator has been connected, then the invalidCalib method is called which is throwing an exception.
gctx | Geometry context passed to access the global alignment |
cctx | Calibration context which is a wrapped Gaudi::EventContext* to retrieve extra information from store gate |
sl | Reference to the source link having the calibrated measurement packed |
trackState | Proxy to the track state into which the calibrated measurement parameters are copied. |
Definition at line 58 of file xAODUncalibMeasCalibrator.cxx.
|
inline |
Register a calibrator implementation instance for a given measurement type.
The function signature must satisfy the requirements of a Calibration delegate defined by the Acts::Fitters
type | Measurment type for which this instance of the calibrator shall be called |
instance | Pointer to the calibrator instance. |
Definition at line 36 of file xAODUncalibMeasCalibrator.h.
|
private |
Delegate method that's assigned during the construction phase of this class.
If called, the method throws an exception reminding the user that he needs to connect a calibrator with the requested measruement type.
gctx | Geometry context passed to access the global alignment |
cctx | Calibration context which is a wrapped Gaudi::EventContext* to retrieve extra information from store gate |
sl | Reference to the source link having the calibrated measurement packed |
trackState | Proxy to the track state into which the calibrated measurement parameters are copied. |
Definition at line 25 of file xAODUncalibMeasCalibrator.cxx.
|
static |
Helper method to pack an uncalibrated measurement to an Acts source link.
meas | Pointer to the measurement to unpack |
Definition at line 9 of file xAODUncalibMeasCalibrator.cxx.
|
inherited |
Copy the local position & covariance into the Acts track state proxy.
Dim | Dimension of the measurement |
trajectory_t | Data type of the track state proxy backend |
pos_t | Data type of the [Dim x 1] position vector |
cov_t | Data type of the [Dim x Dim] covariance matrix |
projector | Projector configuration of the measurement |
locpos | Calibrated local postion |
cov | Calibrated local covariance |
link | Source link to associate with the state |
trackState | Refrence to the track state proxy to write. |
|
static |
Helper method to unpack an Acts source link to an uncalibrated measurement.
sl | Reference to the source link pointing to the uncalibrated measurement |
Definition at line 12 of file xAODUncalibMeasCalibrator.cxx.
|
private |
Dispatch table of the calibrators per measurement type.
In the construction phase of this class all delegates are connected with the invalidCalibrator
method.
Definition at line 85 of file xAODUncalibMeasCalibrator.h.
|
staticconstexprprivateinherited |
Array to map the Projector types to the bound index configurations used by the ATLAS detector measurements.
Definition at line 66 of file MeasurementCalibratorBase.h.
|
staticconstexprprivate |
Definition at line 82 of file xAODUncalibMeasCalibrator.h.