CMS 3D CMS Logo

GsfTrajectoryFitter.h
Go to the documentation of this file.
1 #ifndef GsfTrajectoryFitter_H_
2 #define GsfTrajectoryFitter_H_
3 
12 
13 #include <vector>
14 
16 
20 class GsfTrajectoryFitter final : public TrajectoryFitter {
21 private:
24 
25 public:
29  GsfTrajectoryFitter(const Propagator& aPropagator,
30  const TrajectoryStateUpdator& aUpdator,
31  const MeasurementEstimator& aEstimator,
32  const MultiTrajectoryStateMerger& aMerger,
33  const DetLayerGeometry* detLayerGeometry = nullptr);
34 
35  ~GsfTrajectoryFitter() override;
36 
37  Trajectory fitOne(const Trajectory& t, fitType type) const override;
38  Trajectory fitOne(const TrajectorySeed& aSeed,
39  const RecHitContainer& hits,
40  const TrajectoryStateOnSurface& firstPredTsos,
41  fitType type) const override;
42  Trajectory fitOne(const TrajectorySeed& aSeed, const RecHitContainer& hits, fitType type) const override;
43 
44  const Propagator* propagator() const { return thePropagator; }
45  const TrajectoryStateUpdator* updator() const { return theUpdator; }
46  const MeasurementEstimator* estimator() const { return theEstimator; }
47  const MultiTrajectoryStateMerger* merger() const { return theMerger; }
48 
49  std::unique_ptr<TrajectoryFitter> clone() const override {
50  return std::unique_ptr<TrajectoryFitter>(
52  }
53 
54  void setHitCloner(TkCloner const* hc) override { theHitCloner = hc; }
55 
56 private:
61  TkCloner const* theHitCloner = nullptr;
64 
65  bool theTiming;
66 };
67 
68 #endif //TR_GsfTrajectoryFitter_H_
const Propagator * thePropagator
const MultiTrajectoryStateMerger * theMerger
Trajectory fitOne(const Trajectory &t, fitType type) const override
const MeasurementEstimator * estimator() const
const TrajectoryStateUpdator * updator() const
const DetLayerGeometry * theGeometry
void setHitCloner(TkCloner const *hc) override
const MeasurementEstimator * theEstimator
const Propagator * propagator() const
std::unique_ptr< TrajectoryFitter > clone() const override
TrajectoryMeasurement TM
const MultiTrajectoryStateMerger * merger() const
GsfTrajectoryFitter(const Propagator &aPropagator, const TrajectoryStateUpdator &aUpdator, const MeasurementEstimator &aEstimator, const MultiTrajectoryStateMerger &aMerger, const DetLayerGeometry *detLayerGeometry=nullptr)
TrajectoryStateOnSurface TSOS
const TrajectoryStateUpdator * theUpdator
Trajectory::RecHitContainer RecHitContainer
const DetLayerGeometry dummyGeometry
TkCloner const * theHitCloner