![]() |
ATLAS Offline Software
|
Base class providing the boiler code to fill the Acts multi trajectory track states. More...
#include <MeasurementCalibratorBase.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 | |
| MeasurementCalibratorBase ()=default | |
| 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 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. | |
Static Private Attributes | |
| 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. | |
Base class providing the boiler code to fill the Acts multi trajectory track states.
The states are filled with the n-dimensional local position & covariance, the source link to the ATLAS measurement and finally the projector is configured. A simple enum represents all tracking measurement configurations exisiting in ATLAS.
Definition at line 36 of file MeasurementCalibratorBase.h.
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.
|
strong |
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.
|
default |
|
static |
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. |
|
static |
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 |
|
static |
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. |
|
protected |
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. |
| void ActsTrk::detail::MeasurementCalibratorBase::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.
| 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 |
Unpack the SourceLink_t from the passed Acts source link.
| sl | Reference to the source link to unpack. |
|
staticconstexprprivate |
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.