ATLAS Offline Software
Public Types | Public Member Functions | List of all members
MuonR4::ISpacePointCalibrator Class Referenceabstract

Interface class to refine the space point calibration with an external seed. More...

#include <ISpacePointCalibrator.h>

Inheritance diagram for MuonR4::ISpacePointCalibrator:
Collaboration diagram for MuonR4::ISpacePointCalibrator:

Public Types

using CalibSpacePointPtr = std::unique_ptr< CalibratedSpacePoint >
 
using CalibSpacePointVec = std::vector< CalibSpacePointPtr >
 

Public Member Functions

 DeclareInterfaceID (ISpacePointCalibrator, 1, 0)
 
virtual ~ISpacePointCalibrator ()=default
 
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. More...
 
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. More...
 
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. More...
 
virtual CalibSpacePointVec calibrate (const Acts::CalibrationContext &cctx, const Amg::Vector3D &seedPosInChamb, const Amg::Vector3D &seedDirInChamb, const double timeDelay, const CalibSpacePointVec &spacePoints) const =0
 Refines the calibration constants of already calibrated space points. More...
 
virtual double driftVelocity (const Acts::CalibrationContext &cctx, const CalibratedSpacePoint &spacePoint) const =0
 Returns the drift velocity for a given drift-circle space point. More...
 
virtual double driftAcceleration (const Acts::CalibrationContext &cctx, const CalibratedSpacePoint &spacePoint) const =0
 Returns the drift acceleration for a given drift-circle space point. More...
 
virtual void calibrateSourceLink (const Acts::GeometryContext &geoctx, const Acts::CalibrationContext &cctx, const Acts::SourceLink &link, ActsTrk::MutableTrackStateBackend::TrackStateProxy state) const =0
 Function that's hooked to the calibration delegate of the implemented Acts fitters. More...
 
virtual void updateSigns (const Amg::Vector3D &trackPos, const Amg::Vector3D &trackDir, CalibSpacePointVec &hitsToCalib) const =0
 Update the signs of the drift radii for a given straight line track to fix the left <-> right ambiguity. More...
 
virtual void stampSignsOnMeasurements (const xAOD::MuonSegment &segment) const =0
 Stamps the signs of the drift radii w.r.t. More...
 

Detailed Description

Interface class to refine the space point calibration with an external seed.

Definition at line 33 of file ISpacePointCalibrator.h.

Member Typedef Documentation

◆ CalibSpacePointPtr

Definition at line 39 of file ISpacePointCalibrator.h.

◆ CalibSpacePointVec

Definition at line 40 of file ISpacePointCalibrator.h.

Constructor & Destructor Documentation

◆ ~ISpacePointCalibrator()

virtual MuonR4::ISpacePointCalibrator::~ISpacePointCalibrator ( )
virtualdefault

Member Function Documentation

◆ calibrate() [1/4]

virtual CalibSpacePointVec MuonR4::ISpacePointCalibrator::calibrate ( const Acts::CalibrationContext &  cctx,
const Amg::Vector3D seedPosInChamb,
const Amg::Vector3D seedDirInChamb,
const double  timeDelay,
const CalibSpacePointVec spacePoints 
) const
pure virtual

Refines the calibration constants of already calibrated space points.

Parameters
cctxCalibration context which is a packed pointer to the current ATLAS EventContext
seedPosInChambPosition of the external seed expressed in the sector frame
seedDirInChambDirection of the external seed expressed in the sector frame
timeDelayShift in time to be added to the time of flight of a particle going a straight path
spacePointsList of already calibrated space points that's eaten by the method

◆ calibrate() [2/4]

virtual CalibSpacePointPtr MuonR4::ISpacePointCalibrator::calibrate ( const EventContext &  ctx,
const CalibratedSpacePoint spacePoint,
const Amg::Vector3D seedPosInChamb,
const Amg::Vector3D seedDirInChamb,
const double  timeDelay 
) const
pure virtual

Calibrates a single space point.

Mdt drift radii are corrected for time slew, signal propagation & LorentzAngle effects. The second coordinate of 1D space points is updated according to the closest approach of the strip to the complemntary coordinate. The space point calibrator always returns a calibrated object. But the state of the space point is set to FailedCalib in if the calibration fails.

Parameters
ctxEventContext to access conditions data
spacePointPointer to the space point to calibrate.
seedPosInChambPosition of the external seed expressed in the sector frame
seedDirInChambDirection of the external seed expressed in the sector frame
timeDelayShift in time to be added to the time of flight of a particle going a straight path

◆ calibrate() [3/4]

virtual CalibSpacePointPtr MuonR4::ISpacePointCalibrator::calibrate ( const EventContext &  ctx,
const SpacePoint spacePoint,
const Amg::Vector3D seedPosInChamb,
const Amg::Vector3D seedDirInChamb,
const double  timeDelay 
) const
pure virtual

Calibrates a single space point.

Mdt drift radii are corrected for time slew, signal propagation & LorentzAngle effects. The second coordinate of 1D space points is updated according to the closest approach of the strip to the complemntary coordinate. The space point calibrator always returns a calibrated object. But the state of the space point is set to FailedCalib in if the calibration fails.

Parameters
ctxEventContext to access conditions data
spacePointPointer to the space point to calibrate.
seedPosInChambPosition of the external seed expressed in the sector frame
seedDirInChambDirection of the external seed expressed in the sector frame
timeDelayShift in time to be added to the time of flight of a particle going a straight path

◆ calibrate() [4/4]

virtual CalibSpacePointVec MuonR4::ISpacePointCalibrator::calibrate ( const EventContext &  ctx,
const std::vector< const SpacePoint * > &  spacePoints,
const Amg::Vector3D seedPosInChamb,
const Amg::Vector3D seedDirInChamb,
const double  timeDelay 
) const
pure virtual

Calibrates a set of space points.

Parameters
ctxEventContext to access conditions data
spacePointsList of space points that will be calibrated
seedPosInChambPosition of the external seed expressed in the sector frame
seedDirInChambDirection of the external seed expressed in the sector frame
timeDelayShift in time to be added to the time of flight of a particle going a straight path

◆ calibrateSourceLink()

virtual void MuonR4::ISpacePointCalibrator::calibrateSourceLink ( const Acts::GeometryContext &  geoctx,
const Acts::CalibrationContext &  cctx,
const Acts::SourceLink &  link,
ActsTrk::MutableTrackStateBackend::TrackStateProxy  state 
) const
pure virtual

Function that's hooked to the calibration delegate of the implemented Acts fitters.

Parameters
geoctxThe geometry context to fetch the local -> global transformations for the surfaces
cctxCalibration context which is a packed pointer to the current ATLAS EventContext
linkSourcelink to the actual measurement to calibrate
stateProxy to the track-state to which the calibrated constants are written

◆ DeclareInterfaceID()

MuonR4::ISpacePointCalibrator::DeclareInterfaceID ( ISpacePointCalibrator  ,
,
 
)

◆ driftAcceleration()

virtual double MuonR4::ISpacePointCalibrator::driftAcceleration ( const Acts::CalibrationContext &  cctx,
const CalibratedSpacePoint spacePoint 
) const
pure virtual

Returns the drift acceleration for a given drift-circle space point.

Parameters
ctxCalibration context which is a packed pointer to the current ATLAS EventContext
spacePointReference to the calibrated space point for which the acceleration needs to be calculated.

◆ driftVelocity()

virtual double MuonR4::ISpacePointCalibrator::driftVelocity ( const Acts::CalibrationContext &  cctx,
const CalibratedSpacePoint spacePoint 
) const
pure virtual

Returns the drift velocity for a given drift-circle space point.

Parameters
ctxCalibration context which is a packed pointer to the current ATLAS EventContext
spacePointReference to the calibrated space point for which the velocity needs to be calculated.

◆ stampSignsOnMeasurements()

virtual void MuonR4::ISpacePointCalibrator::stampSignsOnMeasurements ( const xAOD::MuonSegment segment) const
pure virtual

Stamps the signs of the drift radii w.r.t.

the segment line onto the uncalibrated measurements. The stamped signs are later picked up by the source link calibration in the context of the track fit to stabilize the fit.

Parameters
segmentReference to the reconstructed segment for which the sign stamp shall be executed

◆ updateSigns()

virtual void MuonR4::ISpacePointCalibrator::updateSigns ( const Amg::Vector3D trackPos,
const Amg::Vector3D trackDir,
CalibSpacePointVec hitsToCalib 
) const
pure virtual

Update the signs of the drift radii for a given straight line track to fix the left <-> right ambiguity.

Parameters
trackPosPosition of the track intercept in the sector frame
trackDirDirection of the track in the sector frame
hitsToCalibList of space points to calibrate

The documentation for this class was generated from the following file: