![]() |
ATLAS Offline Software
|
Source link calibrator implementation for xAOD::Uncalibrated measurements. More...
#include <xAODUncalibMeasCalibrator.h>
Public Types | |
| enum class | ProjectorType { e1DimNoTime = 0 , e1DimRotNoTime = 1 , e2DimNoTime = 2 , e1DimWithTime = 3 , e1DimRotWithTime = 4 , e2DimWithTime = 5 } |
| Enum encoding the possible projectors used in ATLAS. More... | |
| using | SourceLink_t |
| Encode the source links supported by the Calibrator class as a variant of the measurement class type pointer used within Athena. | |
Public Member Functions | |
| xAODUncalibMeasCalibrator () | |
| Empty default constructor. | |
| template<auto Callable, typename Type> | |
| void | connect (const xAOD::UncalibMeasType type, const Type *instance) |
| Register a calibrator implementation instance for a given measurement type. | |
| 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. | |
| template<std::size_t Dim, Acts::TrackStateProxyConcept proxy_t, typename pos_t, typename cov_t> | |
| void | setState (const ProjectorType projector, const pos_t &locpos, const cov_t &cov, Acts::SourceLink link, proxy_t &trackState) const |
| Copy the local position & covariance into the Acts track state proxy. | |
Static Public Member Functions | |
| static const xAOD::UncalibratedMeasurement * | unpack (const Acts::SourceLink &sl) |
| Helper method to unpack an Acts source link to an uncalibrated measurement. | |
| static SourceLinkType | getType (const Acts::SourceLink &sl) |
| Returns the enumeration corresponding to the object type cached within the Acts::SourceLink. | |
| static SourceLink_t | unpackBase (const Acts::SourceLink &sl) |
| Unpack the SourceLink_t from the passed Acts source link. | |
| template<Acts::PointerConcept Ptr_t> | |
| static Acts::SourceLink | pack (const Ptr_t &measurement) |
| Pack the measurement type pointer to an Acts::SourceLink including the intermediate conversion into a SourceLink_t. | |
| template<Acts::PointerConcept Ptr_t> | |
| static void | pack (const std::vector< Ptr_t > &measList, std::vector< Acts::SourceLink > &targetSL) |
| Converts a vector measurement pointers to Acts::SourceLinks. | |
Protected Member Functions | |
| template<std::size_t Dim, Acts::TrackStateProxyConcept proxy_t> | |
| void | prepareCalibratedState (const ProjectorType projector, Acts::SourceLink link, proxy_t &trackState) const |
| Queries the track proxy to allocate memory for the incoming calibration object. | |
Private Types | |
| using | CalibDelegate = Acts::Experimental::Gx2FitterExtensions<MutableTrackStateBackend>::Calibrator |
| Abrivation for the calibrator delegate. | |
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. | |
| void | auxillaryCalibrator (const Acts::GeometryContext &gctx, const Acts::CalibrationContext &cctx, const Acts::SourceLink &sl, MutableTrackStateBackend::TrackStateProxy trackState) const |
| Delegate method for the Auxiliary measurements. | |
Private Attributes | |
| std::array< CalibDelegate, s_nMeasTypes > | m_calibrators {} |
| Dispatch table of the calibrators per measurement type. | |
Static Private Attributes | |
| static constexpr std::size_t | s_nMeasTypes = Acts::toUnderlying(xAOD::UncalibMeasType::nTypes) |
| static constexpr std::array< Acts::BoundSubspaceIndices, 6 > | s_boundSpaceIndices |
| Array to map the Projector types to the bound index configurations used by the ATLAS detector measurements. | |
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 20 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 77 of file xAODUncalibMeasCalibrator.h.
|
inherited |
Encode the source links supported by the Calibrator class as a variant of the measurement class type pointer used within Athena.
The std::monostate is used to encode nullptrs or not yet supported types
Definition at line 53 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 41 of file MeasurementCalibratorBase.h.
| ActsTrk::detail::xAODUncalibMeasCalibrator::xAODUncalibMeasCalibrator | ( | ) |
Empty default constructor.
Definition at line 14 of file xAODUncalibMeasCalibrator.cxx.
|
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 29 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 55 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 32 of file xAODUncalibMeasCalibrator.h.
|
staticinherited |
Returns the enumeration corresponding to the object type cached within the Acts::SourceLink.
The SourceLink must have been created by a MeasurementCalibrator to ensure that the underlying variant is cached. If the variant is a monostate, nTypes is returned
| sl | Reference to the source link to unpack. |
|
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 22 of file xAODUncalibMeasCalibrator.cxx.
|
staticinherited |
Pack the measurement type pointer to an Acts::SourceLink including the intermediate conversion into a SourceLink_t.
Nullptrs are converted to a std::monostate.
| measurement | Pointer to the measurement to transform into a SourceLInk |
|
staticinherited |
Converts a vector measurement pointers to Acts::SourceLinks.
| measList | The list of measurement pointers for conversion |
| targetSL | The allocated SourceLink vectors to which the Acts::SourceLink objects are appended. |
|
protectedinherited |
Queries the track proxy to allocate memory for the incoming calibration object.
Defines the projector indices and allocates the source link to the state
| projector | Projector configuration of the measurement |
| link | Source link to associate with the state |
| trackState | Refrence to the track state proxy to write. |
|
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 9 of file xAODUncalibMeasCalibrator.cxx.
|
staticinherited |
Unpack the SourceLink_t from the passed Acts source link.
| sl | Reference to the source link to unpack. |
|
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 81 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 115 of file MeasurementCalibratorBase.h.
|
staticconstexprprivate |
Definition at line 78 of file xAODUncalibMeasCalibrator.h.