ATLAS Offline Software
Loading...
Searching...
No Matches
ActsTrk::MeasurementCalibrator Struct Reference

#include <MeasurementCalibrator.h>

Collaboration diagram for ActsTrk::MeasurementCalibrator:

Public Types

using PixelPos = xAOD::MeasVector<2>
using PixelCov = xAOD::MeasMatrix<2>
using PixelCalibrator
using StripPos = xAOD::MeasVector<1>
using StripCov = xAOD::MeasMatrix<1>
using StripCalibrator
using hgtdPos = xAOD::MeasVector<3>
using hgtdCov = xAOD::MeasMatrix<3>
using HGTDCalibrator

Public Member Functions

template<typename T_CalibratorTool, typename T_Delegate>
void connect (const EventContext &ctx, const T_CalibratorTool *calibrator_tool, T_Delegate &pre_calibrator, T_Delegate &post_calibrator)
 MeasurementCalibrator (const EventContext &ctx, const IPixelOnBoundStateCalibratorTool *pixelCalibratorTool, const IStripOnBoundStateCalibratorTool *stripCalibratorTool, const IHGTDOnBoundStateCalibratorTool *hgtdCalibratorTool)
const PixelCalibratorpixelPostCalibrator () const
const StripCalibratorstripPostCalibrator () const
const HGTDCalibratorhgtdPostCalibrator () const
const PixelCalibratorpixelPreCalibrator () const
const StripCalibratorstripPreCalibrator () const
const HGTDCalibratorhgtdPreCalibrator () const
template<std::size_t Dim, typename Cluster>
std::pair< xAOD::MeasVector< Dim >, xAOD::MeasMatrix< Dim > > passthrough (const Acts::GeometryContext &gctx, const Acts::CalibrationContext &cctx, const Acts::Surface &surface, const Cluster &cluster, const Acts::BoundTrackParameters &) const

Public Attributes

PixelCalibrator pixel_postCalibrator
StripCalibrator strip_postCalibrator
HGTDCalibrator hgtd_postCalibrator
PixelCalibrator pixel_preCalibrator
StripCalibrator strip_preCalibrator
HGTDCalibrator hgtd_preCalibrator
boost::container::static_vector< std::unique_ptr< ClusterCalibratorBase >, 3 > m_calibrators

Detailed Description

Definition at line 105 of file MeasurementCalibrator.h.

Member Typedef Documentation

◆ HGTDCalibrator

Initial value:
Acts::Delegate<
std::pair<hgtdPos, hgtdCov>(const Acts::GeometryContext&,
const Acts::CalibrationContext&,
const Acts::Surface&,
const Acts::BoundTrackParameters &)>
HGTDCluster_v1 HGTDCluster
Define the version of the pixel cluster class.
Definition HGTDCluster.h:13

Definition at line 126 of file MeasurementCalibrator.h.

◆ hgtdCov

◆ hgtdPos

◆ PixelCalibrator

Initial value:
Acts::Delegate<
std::pair<PixelPos, PixelCov>(const Acts::GeometryContext&,
const Acts::CalibrationContext&,
const Acts::Surface&,
const Acts::BoundTrackParameters &)>
PixelCluster_v1 PixelCluster
Define the version of the pixel cluster class.

Definition at line 109 of file MeasurementCalibrator.h.

◆ PixelCov

◆ PixelPos

◆ StripCalibrator

Initial value:
Acts::Delegate<
std::pair<StripPos, StripCov>(const Acts::GeometryContext&,
const Acts::CalibrationContext&,
const Acts::Surface&,
const Acts::BoundTrackParameters &)>
StripCluster_v1 StripCluster
Define the version of the strip cluster class.

Definition at line 118 of file MeasurementCalibrator.h.

◆ StripCov

◆ StripPos

Constructor & Destructor Documentation

◆ MeasurementCalibrator()

ActsTrk::MeasurementCalibrator::MeasurementCalibrator ( const EventContext & ctx,
const IPixelOnBoundStateCalibratorTool * pixelCalibratorTool,
const IStripOnBoundStateCalibratorTool * stripCalibratorTool,
const IHGTDOnBoundStateCalibratorTool * hgtdCalibratorTool )
inline

Definition at line 161 of file MeasurementCalibrator.h.

165 {
166 assert( m_calibrators.capacity() >= 3); // if capacity was constexpr should turn into static_assert
167 connect(ctx,pixelCalibratorTool,pixel_preCalibrator,pixel_postCalibrator);
168 connect(ctx,stripCalibratorTool,strip_preCalibrator,strip_postCalibrator);
169 connect(ctx,hgtdCalibratorTool, hgtd_preCalibrator, hgtd_postCalibrator);
170 }
void connect(const EventContext &ctx, const T_CalibratorTool *calibrator_tool, T_Delegate &pre_calibrator, T_Delegate &post_calibrator)
boost::container::static_vector< std::unique_ptr< ClusterCalibratorBase >, 3 > m_calibrators

Member Function Documentation

◆ connect()

template<typename T_CalibratorTool, typename T_Delegate>
void ActsTrk::MeasurementCalibrator::connect ( const EventContext & ctx,
const T_CalibratorTool * calibrator_tool,
T_Delegate & pre_calibrator,
T_Delegate & post_calibrator )
inline

Definition at line 142 of file MeasurementCalibrator.h.

145 {
146 bool calibrate_after_measurement_selection=true;
147 if (calibrator_tool) {
148 calibrate_after_measurement_selection = calibrator_tool->calibrateAfterMeasurementSelection();
149 auto calibrator = calibrator_tool->create(ctx);
150 calibrator->connectCalibrator( calibrate_after_measurement_selection ?
151 post_calibrator : pre_calibrator );
152 m_calibrators.push_back(std::move(calibrator));
153 }
154 if (calibrate_after_measurement_selection) {
155 using CalibratorBase_t = typename decltype( calibrator_tool->create(ctx) )::element_type;
156 pre_calibrator.template connect<&MeasurementCalibrator::passthrough<CalibratorBase_t::ClusterDIM,
157 typename CalibratorBase_t::ClusterType>>(this);
158 }
159 }
std::pair< xAOD::MeasVector< Dim >, xAOD::MeasMatrix< Dim > > passthrough(const Acts::GeometryContext &gctx, const Acts::CalibrationContext &cctx, const Acts::Surface &surface, const Cluster &cluster, const Acts::BoundTrackParameters &) const

◆ hgtdPostCalibrator()

const HGTDCalibrator & ActsTrk::MeasurementCalibrator::hgtdPostCalibrator ( ) const
inline

Definition at line 174 of file MeasurementCalibrator.h.

174{ return hgtd_postCalibrator; }

◆ hgtdPreCalibrator()

const HGTDCalibrator & ActsTrk::MeasurementCalibrator::hgtdPreCalibrator ( ) const
inline

Definition at line 177 of file MeasurementCalibrator.h.

177{ return hgtd_preCalibrator; }

◆ passthrough()

template<std::size_t Dim, typename Cluster>
std::pair< xAOD::MeasVector< Dim >, xAOD::MeasMatrix< Dim > > ActsTrk::MeasurementCalibrator::passthrough ( const Acts::GeometryContext & gctx,
const Acts::CalibrationContext & cctx,
const Acts::Surface & surface,
const Cluster & cluster,
const Acts::BoundTrackParameters &  ) const
inline

Definition at line 182 of file MeasurementCalibrator.h.

187 {
188 return std::make_pair(cluster.template localPosition<Dim>(),
189 cluster.template localCovariance<Dim>());
190 }

◆ pixelPostCalibrator()

const PixelCalibrator & ActsTrk::MeasurementCalibrator::pixelPostCalibrator ( ) const
inline

Definition at line 172 of file MeasurementCalibrator.h.

172{ return pixel_postCalibrator; }

◆ pixelPreCalibrator()

const PixelCalibrator & ActsTrk::MeasurementCalibrator::pixelPreCalibrator ( ) const
inline

Definition at line 175 of file MeasurementCalibrator.h.

175{ return pixel_preCalibrator; }

◆ stripPostCalibrator()

const StripCalibrator & ActsTrk::MeasurementCalibrator::stripPostCalibrator ( ) const
inline

Definition at line 173 of file MeasurementCalibrator.h.

173{ return strip_postCalibrator; }

◆ stripPreCalibrator()

const StripCalibrator & ActsTrk::MeasurementCalibrator::stripPreCalibrator ( ) const
inline

Definition at line 176 of file MeasurementCalibrator.h.

176{ return strip_preCalibrator; }

Member Data Documentation

◆ hgtd_postCalibrator

HGTDCalibrator ActsTrk::MeasurementCalibrator::hgtd_postCalibrator

Definition at line 135 of file MeasurementCalibrator.h.

◆ hgtd_preCalibrator

HGTDCalibrator ActsTrk::MeasurementCalibrator::hgtd_preCalibrator

Definition at line 138 of file MeasurementCalibrator.h.

◆ m_calibrators

boost::container::static_vector<std::unique_ptr<ClusterCalibratorBase >, 3> ActsTrk::MeasurementCalibrator::m_calibrators

Definition at line 139 of file MeasurementCalibrator.h.

◆ pixel_postCalibrator

PixelCalibrator ActsTrk::MeasurementCalibrator::pixel_postCalibrator

Definition at line 133 of file MeasurementCalibrator.h.

◆ pixel_preCalibrator

PixelCalibrator ActsTrk::MeasurementCalibrator::pixel_preCalibrator

Definition at line 136 of file MeasurementCalibrator.h.

◆ strip_postCalibrator

StripCalibrator ActsTrk::MeasurementCalibrator::strip_postCalibrator

Definition at line 134 of file MeasurementCalibrator.h.

◆ strip_preCalibrator

StripCalibrator ActsTrk::MeasurementCalibrator::strip_preCalibrator

Definition at line 137 of file MeasurementCalibrator.h.


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