ATLAS Offline Software
Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/DCSLFitter.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef DCMATH_DCSLFITTER_H
6 #define DCMATH_DCSLFITTER_H
7 
8 #include <vector>
9 
14 
15 namespace TrkDriftCircleMath {
16 
17 class DCSLFitter {
18  public:
19  struct FitData {
20  double y{0}; // local y position
21  double z{0}; // local z position
22  double r{0}; // drift radius
23  double w{0}; // weight
24  double rw{0}; // weighted radius
25  double ryw{0}; // weighted y position
26  double rzw{0}; // weighted z position
27  };
28 
29  DCSLFitter() = default;
30  virtual ~DCSLFitter() = default;
31  virtual bool fit(Segment& result, const Line& line, const DCOnTrackVec& dcs,
32  double t0Seed = -99999.) const;
33  virtual bool fit(Segment& result, const Line& line, const DCOnTrackVec& dcs,
34  const HitSelection& selection,
35  double t0Seed = -99999.) const;
36 };
37 
38 inline bool DCSLFitter::fit(Segment& result, const Line& line,
39  const DCOnTrackVec& dcs, double) const {
40  HitSelection selection(dcs.size(), 0);
41  return fit(result, line, dcs, selection);
42 }
43 } // namespace TrkDriftCircleMath
44 
45 #endif
checkFileSG.line
line
Definition: checkFileSG.py:75
TrkDriftCircleMath::DCSLFitter::FitData::rw
double rw
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/DCSLFitter.h:24
get_generator_info.result
result
Definition: get_generator_info.py:21
TrkDriftCircleMath::DCOnTrackVec
std::vector< DCOnTrack > DCOnTrackVec
Definition: DCOnTrack.h:59
TrkDriftCircleMath::DCSLFitter::fit
virtual bool fit(Segment &result, const Line &line, const DCOnTrackVec &dcs, double t0Seed=-99999.) const
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/DCSLFitter.h:38
TrkDriftCircleMath::HitSelection
std::vector< bool > HitSelection
Definition: HitSelection.h:9
TrkDriftCircleMath::DCSLFitter::FitData::rzw
double rzw
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/DCSLFitter.h:26
TrkDriftCircleMath::DCSLFitter
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/DCSLFitter.h:17
TrkDriftCircleMath
Function object to check whether two Segments are sub/super sets or different.
Definition: IMdtSegmentFinder.h:13
TrkDriftCircleMath::DCSLFitter::DCSLFitter
DCSLFitter()=default
TrkDriftCircleMath::Segment
Definition: TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/Segment.h:18
TrkDriftCircleMath::Line
Definition: Line.h:17
TrkDriftCircleMath::DCSLFitter::FitData
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/DCSLFitter.h:19
Line.h
TrkDriftCircleMath::DCSLFitter::FitData::r
double r
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/DCSLFitter.h:22
selection
std::string selection
Definition: fbtTestBasics.cxx:73
DCOnTrack.h
TrkDriftCircleMath::DCSLFitter::FitData::w
double w
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/DCSLFitter.h:23
TrkDriftCircleMath::DCSLFitter::FitData::z
double z
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/DCSLFitter.h:21
HitSelection.h
TrkDriftCircleMath::DCSLFitter::FitData::ryw
double ryw
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/DCSLFitter.h:25
TrkDriftCircleMath::DCSLFitter::~DCSLFitter
virtual ~DCSLFitter()=default
Segment.h
TrkDriftCircleMath::DCSLFitter::FitData::y
double y
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/DCSLFitter.h:20