ATLAS Offline Software
MeasurementCalibratorBase.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ACTSTRACKRECONSTRUCTION_DETAIL_MEASUREMENTCALIBRATORBASE_H
6 #define ACTSTRACKRECONSTRUCTION_DETAIL_MEASUREMENTCALIBRATORBASE_H
7 
9 #include "Acts/EventData/Types.hpp"
10 #include "Acts/Surfaces/SurfaceBounds.hpp"
11 #include "Acts/EventData/MultiTrajectory.hpp"
12 #include "Acts/EventData/TrackStateProxy.hpp"
13 #include "Acts/Utilities/CalibrationContext.hpp"
14 
15 #include <array>
16 
17 namespace ActsTrk::detail {
18 
20  public:
22 
23  template <typename state_t>
24  inline void setProjector(xAOD::UncalibMeasType measType,
25  Acts::SurfaceBounds::BoundsType boundType,
26  state_t &trackState ) const;
27 
28  template <std::size_t Dim,
29  typename pos_t,
30  typename cov_t,
31  typename state_t>
32  inline void setState(xAOD::UncalibMeasType measType,
33  const pos_t& locpos,
34  const cov_t& cov,
35  Acts::SurfaceBounds::BoundsType boundType,
36  state_t &trackState) const;
37 
38  template <class measurement_t, typename trajectory_t>
39  inline void setStateFromMeasurement(const measurement_t &measurement,
40  Acts::SurfaceBounds::BoundsType bound_type,
41  typename Acts::MultiTrajectory<trajectory_t>::TrackStateProxy &trackState) const;
42 
43  protected:
44  constexpr static std::array<Acts::BoundSubspaceIndices, 2> s_stripSubspaceIndices = {
45  Acts::BoundSubspaceIndices{Acts::eBoundLoc0}, // normal strip: x -> l0
46  Acts::BoundSubspaceIndices{Acts::eBoundLoc1} // annulus strip: y -> l0
47  };
48 
49  constexpr static Acts::BoundSubspaceIndices s_pixelSubspaceIndices = {
50  Acts::eBoundLoc0, Acts::eBoundLoc1
51  };
52  constexpr static Acts::BoundSubspaceIndices s_hgtdSubspaceIndices = {
53  Acts::eBoundLoc0, Acts::eBoundLoc1, Acts::eBoundTime
54  };
55  };
56 
57 } // namespace ActsTrk::detail
58 
60 
61 #endif
ActsTrk::detail::MeasurementCalibratorBase::s_hgtdSubspaceIndices
constexpr static Acts::BoundSubspaceIndices s_hgtdSubspaceIndices
Definition: MeasurementCalibratorBase.h:52
ActsTrk::detail::MeasurementCalibratorBase::MeasurementCalibratorBase
MeasurementCalibratorBase()=default
ActsTrk::detail::MeasurementCalibratorBase::setStateFromMeasurement
void setStateFromMeasurement(const measurement_t &measurement, Acts::SurfaceBounds::BoundsType bound_type, typename Acts::MultiTrajectory< trajectory_t >::TrackStateProxy &trackState) const
plotBeamSpotVxVal.cov
cov
Definition: plotBeamSpotVxVal.py:201
ActsTrk::detail::MeasurementCalibratorBase::s_stripSubspaceIndices
constexpr static std::array< Acts::BoundSubspaceIndices, 2 > s_stripSubspaceIndices
Definition: MeasurementCalibratorBase.h:44
ActsTrk::detail::MeasurementCalibratorBase::setProjector
void setProjector(xAOD::UncalibMeasType measType, Acts::SurfaceBounds::BoundsType boundType, state_t &trackState) const
ActsTrk::detail::MeasurementCalibratorBase
Definition: MeasurementCalibratorBase.h:19
MeasurementDefs.h
ActsTrk::detail::MeasurementCalibratorBase::setState
void setState(xAOD::UncalibMeasType measType, const pos_t &locpos, const cov_t &cov, Acts::SurfaceBounds::BoundsType boundType, state_t &trackState) const
xAOD::UncalibMeasType
UncalibMeasType
Define the type of the uncalibrated measurement.
Definition: MeasurementDefs.h:24
MeasurementCalibratorBase.icc
ActsTrk::detail::MeasurementCalibratorBase::s_pixelSubspaceIndices
constexpr static Acts::BoundSubspaceIndices s_pixelSubspaceIndices
Definition: MeasurementCalibratorBase.h:49
ActsTrk::detail
Definition: Decoration.h:15