ATLAS Offline Software
Loading...
Searching...
No Matches
StraightPatRec.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef MDTCALIBFITTERS_StraightPatRecH
5#define MDTCALIBFITTERS_StraightPatRecH
6
12
13#include <vector>
14
21
22namespace MuonCalib {
23
25 public:
26 // Constructors //
29
30 StraightPatRec(const double r_road_width) { init(r_road_width); }
32
33 // Methods //
34 // get-methods //
35 double roadWidth() const;
43
44 // set-method //
45 void setRoadWidth(const double r_road_width);
48 void setTimeOut(const double time_out);
51
52 void setFixSelection(bool fix_sel);
53
54 // methods required by the base class "IMdtSegmentFitter" //
55 bool fit(MuonCalibSegment &r_segment) const;
79 bool fit(MuonCalibSegment &r_segment, HitSelection r_selection) const;
81 bool fit(MuonCalibSegment &r_segment, HitSelection r_selection, MTStraightLine &line_track) const;
82
83 void printLevel(int) {}
84
85 bool fitCallByReference(MuonCalibSegment &r_segment, HitSelection &r_selection, MTStraightLine &line_track) const;
86 bool fitCallByReference(MuonCalibSegment &r_segment, HitSelection &r_selection) const;
87
88 private:
89 // internal co-ordinate definition //
90 // x3
91 // ^
92 // o o o o o o |
93 // ... o o o o o ... o--> x2
94 // o o o o o o x1
95 //
96
98
99 // parameters for the adjustment of the track reconstruction //
100 double m_r_max; // maximum radius
101 double m_road_width; // road width for pattern recognition
102 double m_time_out; // time-out for track finding
103
104 // initialization methods //
105 void init();
106 // default initialization: road width = 0.5 CLHEP::mm
107 void init(const double r_road_width);
108 // initialization with user-defined road width
109
110 // auxiliary methods //
111 MTStraightLine tangent(const Amg::Vector3D &r_w1, const double r_r1, const double r_sigma12, const Amg::Vector3D &r_w2,
112 const double r_r2, const double r_sigma22, const int &r_case) const;
113 // method for the calculation of tangents with errors;
114 // r_w1: wire position for the first hit,
115 // r_r1: drift radius of the first hit,
116 // r_sigma12: sigma(r_r1)^2,
117 // r_w2: wire position for the second hit,
118 // r_r2: drift radius of the second hit,
119 // r_sigma22: sigma(r_r2)^2,
120 // r_case = 1, 2, 3, 4: select one of the four cases of a tangent
121 MTStraightLine fitCandidate(MuonCalibSegment &r_segment, const std::vector<unsigned int> &r_selection,
122 const MTStraightLine &cand_line) const;
123
124 // refit the candidate "cand_line" using the hits specified by
125 // the r_selection and index vectors
126 };
127
128} // namespace MuonCalib
129
130#endif
Define macros for attributes used to control the static checker.
std::vector< unsigned int > HitSelection
A MuonCalibSegment is a reconstructed three dimensional track segment in the MuonSpectrometer.
void setTimeOut(const double time_out)
set the time-out for the track finding to time_out (in seconds)
StraightPatRec(const double r_road_width)
Constructor: user-defined road width for pattern recognition.
double roadWidth() const
get the final track in the local co-ordinate frame, i.e.
bool fitCallByReference(MuonCalibSegment &r_segment, HitSelection &r_selection, MTStraightLine &line_track) const
MTStraightLine fitCandidate(MuonCalibSegment &r_segment, const std::vector< unsigned int > &r_selection, const MTStraightLine &cand_line) const
StraightPatRec()
Default constructor: road width for pattern recognition = 0.5 mm.
void setRoadWidth(const double r_road_width)
set the road width for the pattern recognition = r_road_width
bool fit(MuonCalibSegment &r_segment) const
reconstruction of the track using all hits in the segment "r_segment", returns true in case of succes...
MTStraightLine tangent(const Amg::Vector3D &r_w1, const double r_r1, const double r_sigma12, const Amg::Vector3D &r_w2, const double r_r2, const double r_sigma22, const int &r_case) const
void setFixSelection(bool fix_sel)
Eigen::Matrix< double, 3, 1 > Vector3D
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.