2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
4#ifndef NNCLUSTERINGTOOLIMPL_ICC
5#define NNCLUSTERINGTOOLIMPL_ICC
7#include <PixelReadoutGeometry/PixelModuleDesign.h>
12#include "ActsGeometry/ActsDetectorElement.h"
13#include "InDetMeasurementUtilities/Helpers.h"
14#include "InDetReadoutGeometry/SiDetectorElement.h"
16namespace ActsTrk::detail {
18template <typename calib_data_t, typename traj_t>
19StatusCode NNClusterCalibratorToolImpl<calib_data_t, traj_t>::initialize() {
20 ATH_MSG_DEBUG("Initializing ...");
22 ATH_CHECK(BASE::initialize());
23 ATH_MSG_INFO(" successfully initialized, NNClusterCalibrator implementation");
24 return StatusCode::SUCCESS;
27template <typename calib_data_t, typename traj_t>
28std::pair<std::optional<float>, std::optional<float>>
29NNClusterCalibrator<calib_data_t, traj_t>::getCorrectedPosition(
30 const EventContext& ctx, const xAOD::PixelCluster& cluster,
31 const error_data_t& errorData, const InDetDD::SiDetectorElement& element,
32 const std::pair<float, float>& tan_angles) const {
33 return BASE::getCorrectedPosition(ctx, cluster, errorData, element,
37template <typename calib_data_t, typename traj_t>
38std::pair<std::optional<float>, std::optional<float>>
39NNClusterCalibrator<calib_data_t, traj_t>::getCorrectedError(
40 const error_data_t& errorData,
41 [[maybe_unused]] const InDetDD::SiDetectorElement& element,
42 const std::pair<float, float>& tan_angles,
43 const xAOD::PixelCluster& cluster) const {
45 return BASE::getCorrectedError(errorData, element, tan_angles, cluster);
48template <typename calib_data_t, typename traj_t>
50 typename NNClusterCalibrator<calib_data_t, traj_t>::BASE::Pos,
51 typename NNClusterCalibrator<calib_data_t, traj_t>::BASE::Cov,
53NNClusterCalibrator<calib_data_t, traj_t>::calibrate(
54 const EventContext& ctx, const Acts::GeometryContext& gctx,
55 const Acts::CalibrationContext& cctx, const xAOD::PixelCluster& cluster,
56 const InDetDD::SiDetectorElement& detElement,
57 const std::pair<float, float>& tan_incidence_angles) const {
58 return BASE::calibrate(ctx, gctx, cctx, cluster, detElement, tan_incidence_angles);
61} // namespace ActsTrk::detail
63#endif // NNCLUSTERINGTOOLIMPL_ICC