ATLAS Offline Software
Loading...
Searching...
No Matches
NNClusterCalibratorToolImpl.icc
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef NNCLUSTERINGTOOLIMPL_ICC
5#define NNCLUSTERINGTOOLIMPL_ICC
6
7#include <PixelReadoutGeometry/PixelModuleDesign.h>
8
9#include <limits>
10#include <stdexcept>
11
12#include "ActsGeometry/ActsDetectorElement.h"
13#include "InDetMeasurementUtilities/Helpers.h"
14#include "InDetReadoutGeometry/SiDetectorElement.h"
15
16namespace ActsTrk::detail {
17
18template <typename calib_data_t, typename traj_t>
19StatusCode NNClusterCalibratorToolImpl<calib_data_t, traj_t>::initialize() {
20 ATH_MSG_DEBUG("Initializing ...");
21
22 ATH_CHECK(BASE::initialize());
23 ATH_MSG_INFO(" successfully initialized, NNClusterCalibrator implementation");
24 return StatusCode::SUCCESS;
25}
26
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,
34 tan_angles);
35}
36
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 {
44
45 return BASE::getCorrectedError(errorData, element, tan_angles, cluster);
46}
47
48template <typename calib_data_t, typename traj_t>
49std::tuple<
50 typename NNClusterCalibrator<calib_data_t, traj_t>::BASE::Pos,
51 typename NNClusterCalibrator<calib_data_t, traj_t>::BASE::Cov,
52 unsigned int>
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);
59}
60
61} // namespace ActsTrk::detail
62
63#endif // NNCLUSTERINGTOOLIMPL_ICC