ATLAS Offline Software
ISpacePointCalibrator.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUONSPACEPOINTCALIBRATOR_ISPACEPOINTCALIBRATOR_H
6 #define MUONSPACEPOINTCALIBRATOR_ISPACEPOINTCALIBRATOR_H
7 
8 #include <GaudiKernel/IAlgTool.h>
9 #include <GaudiKernel/EventContext.h>
11 #include <memory>
12 
13 class EventContext;
14 
15 namespace MuonR4{
16  class SpacePoint;
17  class CalibratedSpacePoint;
19  class ISpacePointCalibrator : virtual public IAlgTool{
20  public:
22 
23  virtual ~ISpacePointCalibrator() = default;
24 
25  using CalibSpacePointPtr = std::unique_ptr<CalibratedSpacePoint>;
26  using CalibSpacePointVec = std::vector<CalibSpacePointPtr>;
37  virtual CalibSpacePointPtr calibrate(const EventContext& ctx,
38  const SpacePoint* spacePoint,
39  const Amg::Vector3D& seedPosInChamb,
40  const Amg::Vector3D& seedDirInChamb,
41  const double timeDelay) const = 0;
52  virtual CalibSpacePointPtr calibrate(const EventContext& ctx,
53  const CalibratedSpacePoint& spacePoint,
54  const Amg::Vector3D& seedPosInChamb,
55  const Amg::Vector3D& seedDirInChamb,
56  const double timeDelay) const = 0;
63  virtual CalibSpacePointVec calibrate(const EventContext& ctx,
64  const std::vector<const SpacePoint*>& spacePoints,
65  const Amg::Vector3D& seedPosInChamb,
66  const Amg::Vector3D& seedDirInChamb,
67  const double timeDelay) const = 0;
68 
75  virtual CalibSpacePointVec calibrate(const EventContext& ctx,
76  CalibSpacePointVec&& spacePoints,
77  const Amg::Vector3D& seedPosInChamb,
78  const Amg::Vector3D& seedDirInChamb,
79  const double timeDelay) const = 0;
83  virtual double driftVelocity(const EventContext& ctx,
84  const CalibratedSpacePoint& spacePoint) const = 0;
88  virtual double driftAcceleration(const EventContext& ctx,
89  const CalibratedSpacePoint& spacePoint) const = 0;
90 
91  };
92 
93 }
94 
95 
96 #endif
MuonR4::ISpacePointCalibrator::CalibSpacePointVec
std::vector< CalibSpacePointPtr > CalibSpacePointVec
Definition: ISpacePointCalibrator.h:26
MuonR4::ISpacePointCalibrator::calibrate
virtual CalibSpacePointVec calibrate(const EventContext &ctx, const std::vector< const SpacePoint * > &spacePoints, const Amg::Vector3D &seedPosInChamb, const Amg::Vector3D &seedDirInChamb, const double timeDelay) const =0
Calibrates a set of space points.
MuonR4::ISpacePointCalibrator::calibrate
virtual CalibSpacePointVec calibrate(const EventContext &ctx, CalibSpacePointVec &&spacePoints, const Amg::Vector3D &seedPosInChamb, const Amg::Vector3D &seedDirInChamb, const double timeDelay) const =0
Refines the calibration constants of already calibrated space points.
MuonR4::ISpacePointCalibrator::calibrate
virtual CalibSpacePointPtr calibrate(const EventContext &ctx, const CalibratedSpacePoint &spacePoint, const Amg::Vector3D &seedPosInChamb, const Amg::Vector3D &seedDirInChamb, const double timeDelay) const =0
Calibrates a single space point.
MuonR4::ISpacePointCalibrator::calibrate
virtual CalibSpacePointPtr calibrate(const EventContext &ctx, const SpacePoint *spacePoint, const Amg::Vector3D &seedPosInChamb, const Amg::Vector3D &seedDirInChamb, const double timeDelay) const =0
Calibrates a single space point.
MuonR4::ISpacePointCalibrator::driftVelocity
virtual double driftVelocity(const EventContext &ctx, const CalibratedSpacePoint &spacePoint) const =0
Returns the drift velocity for a given drift-circle space point.
MuonR4::ISpacePointCalibrator::DeclareInterfaceID
DeclareInterfaceID(ISpacePointCalibrator, 1, 0)
SpacePoint
Definition: Trigger/TrigAccel/TrigCudaFitter/src/SpacePoint.h:7
GeoPrimitives.h
MuonR4::ISpacePointCalibrator::driftAcceleration
virtual double driftAcceleration(const EventContext &ctx, const CalibratedSpacePoint &spacePoint) const =0
Returns the drift acceleration for a given drift-circle space point.
MuonR4::SpacePoint
The muon space point is the combination of two uncalibrated measurements one of them measures the eta...
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/MuonSpacePoint/SpacePoint.h:18
MuonR4::ISpacePointCalibrator::CalibSpacePointPtr
std::unique_ptr< CalibratedSpacePoint > CalibSpacePointPtr
Definition: ISpacePointCalibrator.h:25
MuonR4::ISpacePointCalibrator
Interface class to refine the space point calibration with an external seed.
Definition: ISpacePointCalibrator.h:19
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
MuonR4
This header ties the generic definitions in this package.
Definition: HoughEventData.h:16
MuonR4::CalibratedSpacePoint
The calibrated Space point is created during the calibration process.
Definition: CalibratedSpacePoint.h:15
MuonR4::ISpacePointCalibrator::~ISpacePointCalibrator
virtual ~ISpacePointCalibrator()=default