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

Base class providing the boiler code to fill the Acts multi trajectory track states. More...

#include <MeasurementCalibratorBase.h>

Inheritance diagram for ActsTrk::detail::MeasurementCalibratorBase:
Collaboration diagram for ActsTrk::detail::MeasurementCalibratorBase:

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...
template<typename trajectory_t>
using TrackState_t = typename Acts::MultiTrajectory<trajectory_t>::TrackStateProxy
 Abbrivation of the track state proxy type.
template<typename trajectory_t>
using ConstTrackState_t = typename Acts::MultiTrajectory<trajectory_t>::ConstTrackStateProxy
 Abbrivation of the const track state proxy type.

Public Member Functions

 MeasurementCalibratorBase ()=default
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.

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.

Detailed Description

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 24 of file MeasurementCalibratorBase.h.

Member Typedef Documentation

◆ ConstTrackState_t

template<typename trajectory_t>
using ActsTrk::detail::MeasurementCalibratorBase::ConstTrackState_t = typename Acts::MultiTrajectory<trajectory_t>::ConstTrackStateProxy

Abbrivation of the const track state proxy type.

Definition at line 44 of file MeasurementCalibratorBase.h.

◆ TrackState_t

template<typename trajectory_t>
using ActsTrk::detail::MeasurementCalibratorBase::TrackState_t = typename Acts::MultiTrajectory<trajectory_t>::TrackStateProxy

Abbrivation of the track state proxy type.

Definition at line 41 of file MeasurementCalibratorBase.h.

Member Enumeration Documentation

◆ ProjectorType

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.

29 {
30 e1DimNoTime = 0,
31 e1DimRotNoTime = 1,
33 e2DimNoTime = 2,
34 e1DimWithTime = 3,
35 e1DimRotWithTime = 4,
36 e2DimWithTime = 5,
37 };

Constructor & Destructor Documentation

◆ MeasurementCalibratorBase()

ActsTrk::detail::MeasurementCalibratorBase::MeasurementCalibratorBase ( )
default

Member Function Documentation

◆ setState()

template<std::size_t Dim, typename trajectory_t, typename pos_t, typename cov_t>
void ActsTrk::detail::MeasurementCalibratorBase::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.

Template Parameters
DimDimension of the measurement
trajectory_tData type of the track state proxy backend
pos_tData type of the [Dim x 1] position vector
cov_tData type of the [Dim x Dim] covariance matrix
Parameters
projectorProjector configuration of the measurement
locposCalibrated local postion
covCalibrated local covariance
linkSource link to associate with the state
trackStateRefrence to the track state proxy to write.

Member Data Documentation

◆ s_boundSpaceIndices

std::array<Acts::BoundSubspaceIndices, 6> ActsTrk::detail::MeasurementCalibratorBase::s_boundSpaceIndices
staticconstexprprivate
Initial value:
{
Acts::BoundSubspaceIndices{Acts::eBoundLoc0},
Acts::BoundSubspaceIndices{Acts::eBoundLoc1},
Acts::BoundSubspaceIndices{Acts::eBoundLoc0, Acts::eBoundLoc1},
Acts::BoundSubspaceIndices{Acts::eBoundLoc0, Acts::eBoundTime},
Acts::BoundSubspaceIndices{Acts::eBoundLoc1, Acts::eBoundTime},
Acts::BoundSubspaceIndices{Acts::eBoundLoc0, Acts::eBoundLoc1, Acts::eBoundTime}
}

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.

66 {
67 Acts::BoundSubspaceIndices{Acts::eBoundLoc0}, // One dimenion without time
68 Acts::BoundSubspaceIndices{Acts::eBoundLoc1}, // Complementary one dimension without time
69 Acts::BoundSubspaceIndices{Acts::eBoundLoc0, Acts::eBoundLoc1},
70 Acts::BoundSubspaceIndices{Acts::eBoundLoc0, Acts::eBoundTime}, // One dimension with time
71 Acts::BoundSubspaceIndices{Acts::eBoundLoc1, Acts::eBoundTime}, // Complementary one dimension with time
72 Acts::BoundSubspaceIndices{Acts::eBoundLoc0, Acts::eBoundLoc1, Acts::eBoundTime}
73 };

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