ATLAS Offline Software
Loading...
Searching...
No Matches
IOnTrackCalibratorTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ACTSTOOLINTERFACES_IONTRACKCALIBRATORTOOL_H
6#define ACTSTOOLINTERFACES_IONTRACKCALIBRATORTOOL_H
7
9
10#include <tuple>
11
12namespace ActsTrk {
13
14 // @TODO remove traj_t template argument ?
15 template <typename cluster_t, std::size_t DIM, typename traj_t>
16 class OnTrackCalibratorBase : public OnBoundStateCalibratorBase<cluster_t,DIM> {
17 public:
19 using BASE::BASE;
20
23 using TrackStateProxy = typename Acts::MultiTrajectory<traj_t>::TrackStateProxy;
24
25 using OnTrackCalibrator = Acts::Delegate<
26 void(const Acts::GeometryContext&,
27 const Acts::CalibrationContext&,
28 const cluster_t &,
30
32 virtual void connectOnTrackCalibrator(OnTrackCalibrator &calibrator) const = 0;
33
34 };
35
36 template <typename cluster_t, std::size_t DIM, typename traj_t>
37 class IOnTrackCalibratorTool : virtual public ActsTrk::traits::Calibrator<cluster_t,DIM>::ToolInterface {
38 public:
39 virtual std::unique_ptr<OnTrackCalibratorBase<cluster_t, DIM, traj_t> > createOnTrackCalibrator(const EventContext &ctx) const = 0;
40 };
41
42} // namespace ActsTrk
43
44#endif
virtual std::unique_ptr< OnTrackCalibratorBase< cluster_t, DIM, traj_t > > createOnTrackCalibrator(const EventContext &ctx) const =0
Base class of a InDet calibrator object.
virtual void connectCalibrator(Calibrator &calibrator) const =0
Connect this calibrator to the provided delegate.
typename Acts::MultiTrajectory< traj_t >::TrackStateProxy TrackStateProxy
Acts::Delegate< void(const Acts::GeometryContext &, const Acts::CalibrationContext &, const xAOD::HGTDCluster &, TrackStateProxy &)> OnTrackCalibrator
virtual void connectOnTrackCalibrator(OnTrackCalibrator &calibrator) const =0
OnBoundStateCalibratorBase< xAOD::HGTDCluster, DIM > BASE
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Eigen::Matrix< float, N, N > MeasMatrix
Eigen::Matrix< float, N, 1 > MeasVector
Abrivation of the Matrix & Covariance definitions.
Helper struct to get the correct types for a certain cluster.