ATLAS Offline Software
Loading...
Searching...
No Matches
ITrackFitter.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
6// ITrackFitter.h
7// Header file for interface of Track Fitters
9// (c) ATLAS Detector software
11
12#ifndef TRK_ITRACKFITTER_H
13#define TRK_ITRACKFITTER_H
14
15#include "GaudiKernel/EventContext.h"
16#include "GaudiKernel/IAlgTool.h"
21#include "TrkTrack/Track.h"
22namespace Trk {
23
24static const InterfaceID IID_ITrackFitter("ITrackFitter", 1, 0);
25
40
41class ITrackFitter : virtual public IAlgTool
42{
43
44public:
45 static const InterfaceID& interfaceID()
46 {
47 return IID_ITrackFitter;
48 }
49
51 virtual std::unique_ptr<Track> fit(
52 const EventContext& ctx,
53 const Track& track,
54 const RunOutlierRemoval runOutlier = false,
55 const ParticleHypothesis matEffects = Trk::nonInteracting) const = 0;
56
61 virtual std::unique_ptr<Track> fit(
62 const EventContext& ctx,
63 const Track& track,
64 const PrepRawDataSet& prepRawSet,
65 const RunOutlierRemoval runOutlier = false,
66 const ParticleHypothesis matEffects = Trk::nonInteracting) const = 0;
67
76 virtual std::unique_ptr<Track> fit(
77 const EventContext& ctx,
78 const PrepRawDataSet& prepRawSet,
79 const TrackParameters& params,
80 const RunOutlierRemoval runOutlier = false,
81 const ParticleHypothesis matEffects = Trk::nonInteracting) const = 0;
82
88 virtual std::unique_ptr<Track> fit(
89 const EventContext& ctx,
90 const Track& track,
91 const MeasurementSet& measSet,
92 const RunOutlierRemoval runOutlier = false,
93 const ParticleHypothesis matEffects = Trk::nonInteracting) const = 0;
94
99 virtual std::unique_ptr<Track> fit(
100 const EventContext& ctx,
101 const MeasurementSet& measSet,
102 const TrackParameters& params,
103 const RunOutlierRemoval runOutlier = false,
104 const ParticleHypothesis matEffects = Trk::nonInteracting) const = 0;
105
111 virtual std::unique_ptr<Track> fit(
112 const EventContext& ctx,
113 const Track& track1,
114 const Track& track2,
115 const RunOutlierRemoval runOutlier = false,
116 const ParticleHypothesis matEffects = Trk::nonInteracting) const = 0;
117
118}; // end of class
119} // end of namespace
120
121#endif // TRK_ITRACKFITTER_H
Provides the abstract interface for track fitting in the common ATLAS Tracking EDM.
virtual std::unique_ptr< Track > fit(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.
virtual std::unique_ptr< Track > fit(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.
static const InterfaceID & interfaceID()
virtual std::unique_ptr< Track > fit(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.
virtual std::unique_ptr< Track > fit(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.
virtual std::unique_ptr< Track > fit(const EventContext &ctx, const Track &track, const RunOutlierRemoval runOutlier=false, const ParticleHypothesis matEffects=Trk::nonInteracting) const =0
RE-FIT A TRACK.
virtual std::unique_ptr< Track > fit(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.
Ensure that the ATLAS eigen extensions are properly loaded.
std::vector< const MeasurementBase * > MeasurementSet
vector of fittable measurements
Definition FitterTypes.h:30
bool RunOutlierRemoval
switch to toggle quality processing after fit
Definition FitterTypes.h:22
static const InterfaceID IID_ITrackFitter("ITrackFitter", 1, 0)
ParticleHypothesis
Enumeration for Particle hypothesis respecting the interaction with material.
ParametersBase< TrackParametersDim, Charged > TrackParameters
std::vector< const PrepRawData * > PrepRawDataSet
vector of clusters and drift circles
Definition FitterTypes.h:26