File indexing completed on 2025-08-06 08:18:08
0001
0002 #ifndef TRACKBASE_CALIBRATOR_H
0003 #define TRACKBASE_CALIBRATOR_H
0004
0005 #include "ActsSourceLink.h"
0006 #include "TrkrDefs.h"
0007 #include "alignmentTransformationContainer.h"
0008
0009 #include <Acts/EventData/Measurement.hpp>
0010 #include <Acts/EventData/MultiTrajectory.hpp>
0011 #include <Acts/EventData/VectorMultiTrajectory.hpp>
0012
0013
0014 class Calibrator
0015 {
0016 public:
0017 using Measurement = ::Acts::BoundVariantMeasurement;
0018
0019
0020
0021
0022
0023 using MeasurementContainer = std::vector<Measurement>;
0024
0025 void calibrate(const MeasurementContainer& measurements,
0026 const Acts::GeometryContext& gctx,
0027 const Acts::CalibrationContext&,
0028 const Acts::SourceLink& sourceLink,
0029 Acts::VectorMultiTrajectory::TrackStateProxy& trackState) const;
0030 virtual ~Calibrator() = default;
0031 };
0032
0033 class CalibratorAdapter
0034 {
0035 public:
0036
0037 CalibratorAdapter(const Calibrator& calibrator,
0038 const Calibrator::MeasurementContainer& measurements)
0039 : m_calibrator{calibrator}
0040 , m_measurements{measurements}
0041 {
0042 }
0043
0044 CalibratorAdapter() = delete;
0045
0046 void calibrate(const Acts::GeometryContext& gctx,
0047 const Acts::CalibrationContext& cctx,
0048 const Acts::SourceLink& sourceLink,
0049 Acts::VectorMultiTrajectory::TrackStateProxy trackState) const;
0050
0051 private:
0052 const Calibrator& m_calibrator;
0053 const Calibrator::MeasurementContainer& m_measurements;
0054 };
0055
0056 #endif