ATLAS Offline Software
Public Member Functions | Static Public Member Functions | List of all members
Trk::ITrackFitter Class Referenceabstract

#include <ITrackFitter.h>

Inheritance diagram for Trk::ITrackFitter:
Collaboration diagram for Trk::ITrackFitter:

Public Member Functions

virtual std::unique_ptr< Trackfit (const EventContext &ctx, const Track &track, const RunOutlierRemoval runOutlier=false, const ParticleHypothesis matEffects=Trk::nonInteracting) const =0
 RE-FIT A TRACK. More...
 
virtual std::unique_ptr< Trackfit (const EventContext &ctx, const Track &track, const PrepRawDataSet &prepRawSet, const RunOutlierRemoval runOutlier=false, const ParticleHypothesis matEffects=Trk::nonInteracting) const =0
 RE-FIT A TRACK, ADDING A PRD SET. More...
 
virtual std::unique_ptr< Trackfit (const EventContext &ctx, const PrepRawDataSet &prepRawSet, const TrackParameters &params, const RunOutlierRemoval runOutlier=false, const ParticleHypothesis matEffects=Trk::nonInteracting) const =0
 FIT A TRACK TO A SET OF PrepRawData. More...
 
virtual std::unique_ptr< Trackfit (const EventContext &ctx, const Track &track, const MeasurementSet &measSet, const RunOutlierRemoval runOutlier=false, const ParticleHypothesis matEffects=Trk::nonInteracting) const =0
 RE-FIT A TRACK, ADDING A FITTABLE MEASUREMENT SET. More...
 
virtual std::unique_ptr< Trackfit (const EventContext &ctx, const MeasurementSet &measSet, const TrackParameters &params, const RunOutlierRemoval runOutlier=false, const ParticleHypothesis matEffects=Trk::nonInteracting) const =0
 FIT A TRACK TO A SET OF MEASUREMENTBASE. More...
 
virtual std::unique_ptr< Trackfit (const EventContext &ctx, const Track &track1, const Track &track2, const RunOutlierRemoval runOutlier=false, const ParticleHypothesis matEffects=Trk::nonInteracting) const =0
 COMBINE TWO TRACKS BY REFITTING. More...
 

Static Public Member Functions

static const InterfaceID & interfaceID ()
 

Detailed Description

Provides the abstract interface for track fitting in the common ATLAS Tracking EDM. This interfaces carries different methods for the main use cases of fitting, extending and re-fitting a track. The interface is held general so that it is suitable for global and progressive fitter algorithms. Each implementation can decide how they bundle these use cases onto a common maths core.

Author
M. Elsing, W. Liebig http://consult.cern.ch/xwho
C. Anastopoulos (Athena MT)

Definition at line 41 of file ITrackFitter.h.

Member Function Documentation

◆ fit() [1/6]

virtual std::unique_ptr<Track> Trk::ITrackFitter::fit ( const EventContext &  ctx,
const MeasurementSet measSet,
const TrackParameters params,
const RunOutlierRemoval  runOutlier = false,
const ParticleHypothesis  matEffects = Trk::nonInteracting 
) const
pure virtual

FIT A TRACK TO A SET OF MEASUREMENTBASE.

Main fit method. The TrackParameters is a first estimate for the track, represented close to the origin.

Implemented in Trk::iPatFitter, Trk::DistributedKalmanFilter, and Trk::GaussianSumFitter.

◆ fit() [2/6]

virtual std::unique_ptr<Track> Trk::ITrackFitter::fit ( const EventContext &  ctx,
const PrepRawDataSet prepRawSet,
const TrackParameters params,
const RunOutlierRemoval  runOutlier = false,
const ParticleHypothesis  matEffects = Trk::nonInteracting 
) const
pure virtual

FIT A TRACK TO A SET OF PrepRawData.

Main fit method. The TrackParameters is a first estimate for the track, represented close to the origin. Use-cases can be thought of that make it necessary to control toggling outlier removal and material effects not via job options (once-per-job) but at each call (toggle within event, large set of fast fit followed by one final full fit).

Implemented in Trk::iPatFitter, Trk::DistributedKalmanFilter, and Trk::GaussianSumFitter.

◆ fit() [3/6]

virtual std::unique_ptr<Track> Trk::ITrackFitter::fit ( const EventContext &  ctx,
const Track track,
const MeasurementSet measSet,
const RunOutlierRemoval  runOutlier = false,
const ParticleHypothesis  matEffects = Trk::nonInteracting 
) const
pure virtual

RE-FIT A TRACK, ADDING A FITTABLE MEASUREMENT SET.

this method will use the vector of measurements from the existing track and refit adding the new measurements. The code is in this class, but can be overwritten by inheriting classes.

Implemented in Trk::GaussianSumFitter, Trk::iPatFitter, and Trk::DistributedKalmanFilter.

◆ fit() [4/6]

virtual std::unique_ptr<Track> Trk::ITrackFitter::fit ( const EventContext &  ctx,
const Track track,
const PrepRawDataSet prepRawSet,
const RunOutlierRemoval  runOutlier = false,
const ParticleHypothesis  matEffects = Trk::nonInteracting 
) const
pure virtual

RE-FIT A TRACK, ADDING A PRD SET.

this method will disintegrate the track back to PRD and call the fit(PRDset) method.

Implemented in Trk::GaussianSumFitter, Trk::iPatFitter, and Trk::DistributedKalmanFilter.

◆ fit() [5/6]

virtual std::unique_ptr<Track> Trk::ITrackFitter::fit ( const EventContext &  ctx,
const Track track,
const RunOutlierRemoval  runOutlier = false,
const ParticleHypothesis  matEffects = Trk::nonInteracting 
) const
pure virtual

◆ fit() [6/6]

virtual std::unique_ptr<Track> Trk::ITrackFitter::fit ( const EventContext &  ctx,
const Track track1,
const Track track2,
const RunOutlierRemoval  runOutlier = false,
const ParticleHypothesis  matEffects = Trk::nonInteracting 
) const
pure virtual

COMBINE TWO TRACKS BY REFITTING.

Specifically designed for combined muon fits, allowing to extract extra informations (ID-exit & MS-entrance parameters, layers, Mefos) from already fitted tracks.

Implemented in Trk::GaussianSumFitter, Trk::iPatFitter, and Trk::DistributedKalmanFilter.

◆ interfaceID()

static const InterfaceID& Trk::ITrackFitter::interfaceID ( )
inlinestatic

Definition at line 45 of file ITrackFitter.h.

46  {
47  return IID_ITrackFitter;
48  }

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