ATLAS Offline Software
MuonHoughPattern.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUONHOUGHPATTERNEVENT_MUONHOUGHPATTERN_H
6 #define MUONHOUGHPATTERNEVENT_MUONHOUGHPATTERN_H
7 
12 namespace MuonHough {
15 } // namespace MuonHough
16 
20 public:
22  MuonHoughPattern(int id_number);
23 
25  virtual ~MuonHoughPattern() = default;
26 
28  void resetTracksegment();
29 
31  bool hitInHoughPattern(const std::shared_ptr<MuonHoughHit>& hit) const;
32 
34  double calculateEZ() const;
36  double patternLength() const;
37 
39  void printHoughPattern() const;
40 
42  int getIdNumber() const;
43 
45  double getEPhi() const;
47  double getERPhi() const;
49  double getETheta() const;
51  double getERTheta() const;
53  double getECurvature() const;
55  double getMaximumHistogram() const;
56 
58  void setEPhi(double ephi);
60  void setERPhi(double erphi);
62  void setETheta(double etheta);
64  void setERTheta(double ertheta);
66  void setECurvature(double curvature);
68  void setMaximumHistogram(double maximumhistogram);
69 
71  double getEAngle() const;
73  double getER() const;
75  void setEAngle(double eangle);
77  void setER(double er);
78 
80  void setWhichSegment(bool which_segment);
81 
83  Amg::Vector3D getEPos() const;
85  Amg::Vector3D getEDir() const;
86 
88  void updateParametersRPhi(bool cosmics = false);
89 
91 
92 private:
94  int m_id_number{-1};
95 
98  bool m_whichsegment{false};
99 
101  double m_ephi{-M_PI_2};
103  double m_erphi{0.};
105  double m_etheta{M_PI_2};
107  double m_ertheta{0.};
109  double m_ecurvature{1.};
111  double m_maximumhistogram{0.};
112 };
113 
114 inline int MuonHoughPattern::getIdNumber() const { return m_id_number; }
115 
116 inline double MuonHoughPattern::getEPhi() const { return m_ephi; }
117 inline double MuonHoughPattern::getERPhi() const { return m_erphi; }
118 inline double MuonHoughPattern::getETheta() const { return m_etheta; }
119 inline double MuonHoughPattern::getERTheta() const { return m_ertheta; }
120 inline double MuonHoughPattern::getECurvature() const { return m_ecurvature; }
122 
123 inline void MuonHoughPattern::setEPhi(double ephi) { m_ephi = ephi; }
124 inline void MuonHoughPattern::setERPhi(double erphi) { m_erphi = erphi; }
125 inline void MuonHoughPattern::setETheta(double etheta) { m_etheta = etheta; }
126 inline void MuonHoughPattern::setERTheta(double ertheta) { m_ertheta = ertheta; }
127 inline void MuonHoughPattern::setECurvature(double ecurvature) { m_ecurvature = ecurvature; }
128 inline void MuonHoughPattern::setMaximumHistogram(double maximumhistogram) { m_maximumhistogram = maximumhistogram; }
129 
130 inline void MuonHoughPattern::setWhichSegment(bool which_segment) { m_whichsegment = which_segment; }
131 #endif // MUONHOUGHPATTERNEVENT_MUONHOUGHPATTERN_H
MuonHough::MuonHoughTransformers
MuonHoughTransformers
enum to identify the different houghtransformers
Definition: MuonHoughPattern.h:14
MuonHoughPattern::getECurvature
double getECurvature() const
returns curvature of pattern
Definition: MuonHoughPattern.h:120
MuonHoughPattern::setERPhi
void setERPhi(double erphi)
set r0 of pattern
Definition: MuonHoughPattern.h:124
MuonHoughPattern::setETheta
void setETheta(double etheta)
set theta of pattern
Definition: MuonHoughPattern.h:125
MuonHoughPattern::m_ephi
double m_ephi
phi in rad
Definition: MuonHoughPattern.h:101
MuonHoughPattern::MuonHoughPattern
MuonHoughPattern(int id_number)
MuonHoughPattern does not own its hits (contrary to the default) MuonHoughHitContainer!
Definition: MuonHoughPattern.cxx:11
MuonHough::hough_rzcosmics
@ hough_rzcosmics
Definition: MuonHoughPattern.h:14
MuonHough::hough_rz_mdt
@ hough_rz_mdt
Definition: MuonHoughPattern.h:14
MuonHoughPattern::getER
double getER() const
returns radius in precision plane in mm
Definition: MuonHoughPattern.cxx:121
MuonHoughPattern::m_etheta
double m_etheta
theta in rad
Definition: MuonHoughPattern.h:105
MuonHoughPattern::getEPhi
double getEPhi() const
returns phi of pattern
Definition: MuonHoughPattern.h:116
MuonHoughPattern::getEPos
Amg::Vector3D getEPos() const
calulates 3d point closest to ip
Definition: MuonHoughPattern.cxx:165
MuonHough::hough_rz_rpc
@ hough_rz_rpc
Definition: MuonHoughPattern.h:14
MuonHough::hough_yz
@ hough_yz
Definition: MuonHoughPattern.h:14
MuonHoughPattern::~MuonHoughPattern
virtual ~MuonHoughPattern()=default
destructor
MuonHoughPattern::setEPhi
void setEPhi(double ephi)
set phi of pattern
Definition: MuonHoughPattern.h:123
MuonHoughPattern::hitInHoughPattern
bool hitInHoughPattern(const std::shared_ptr< MuonHoughHit > &hit) const
returns if hit is in pattern
Definition: MuonHoughPattern.cxx:17
MuonHoughPattern::getERTheta
double getERTheta() const
returns z0 of pattern
Definition: MuonHoughPattern.h:119
cosmics
Definition: cosmics.py:1
MuonHoughPattern::m_ertheta
double m_ertheta
z0 in mm
Definition: MuonHoughPattern.h:107
MuonHoughPattern::setERTheta
void setERTheta(double ertheta)
set z0 of pattern
Definition: MuonHoughPattern.h:126
MuonHough::hough_xy
@ hough_xy
Definition: MuonHoughPattern.h:14
MuonHoughPattern::setECurvature
void setECurvature(double curvature)
set curvature of pattern
Definition: MuonHoughPattern.h:127
MuonHoughPattern::setWhichSegment
void setWhichSegment(bool which_segment)
set which segment pattern is in, not in use
Definition: MuonHoughPattern.h:130
MuonHoughPattern::m_id_number
int m_id_number
id number of hough transform used to generate pattern
Definition: MuonHoughPattern.h:94
MuonHough
Definition: MuonLayerHoughTool.h:42
MuonHoughPattern::getETheta
double getETheta() const
returns theta of pattern
Definition: MuonHoughPattern.h:118
MuonHoughHitContainer
Definition: MuonHoughHitContainer.h:15
MuonHoughHitContainer.h
MuonHough::hough_curved_at_a_cylinder
@ hough_curved_at_a_cylinder
Definition: MuonHoughPattern.h:14
MuonHoughPattern::updateParametersRPhi
void updateParametersRPhi(bool cosmics=false)
update parameters in rphi plane based on weighted fit
Definition: MuonHoughPattern.cxx:192
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
MuonHoughPattern::m_maximumhistogram
double m_maximumhistogram
maximum of histogram
Definition: MuonHoughPattern.h:111
MuonHoughPattern::calculateEZ
double calculateEZ() const
calculate estimated z-position of pattern
Definition: MuonHoughPattern.cxx:65
MuonHoughPattern::m_whichsegment
bool m_whichsegment
which segment is pattern created in, not relevant if split search is off 0 lower segment,...
Definition: MuonHoughPattern.h:98
MuonHoughPattern::m_erphi
double m_erphi
r0 in mm
Definition: MuonHoughPattern.h:103
MuonHoughPattern::printHoughPattern
void printHoughPattern() const
prints out info about hough pattern
Definition: MuonHoughPattern.cxx:91
EventPrimitives.h
MuonHoughPattern::resetTracksegment
void resetTracksegment()
clear pattern
Definition: MuonHoughPattern.cxx:13
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
MuonHoughPattern::setMaximumHistogram
void setMaximumHistogram(double maximumhistogram)
set maximum of histogram used to generate pattern
Definition: MuonHoughPattern.h:128
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
MuonHoughPattern::setEAngle
void setEAngle(double eangle)
set angle in precision plane in rad
Definition: MuonHoughPattern.cxx:137
MuonHoughPattern::getEAngle
double getEAngle() const
returns angle in precision plane in rad
Definition: MuonHoughPattern.cxx:105
MuonHoughPattern::getEDir
Amg::Vector3D getEDir() const
calculates direction at point closest to ip
Definition: MuonHoughPattern.cxx:185
MuonHoughPattern::getERPhi
double getERPhi() const
returns r0/d0 of pattern
Definition: MuonHoughPattern.h:117
MuonHoughPattern::setER
void setER(double er)
set radius in precision plane in mm
Definition: MuonHoughPattern.cxx:151
MuonHoughPattern
Definition: MuonHoughPattern.h:17
MuonHoughPattern::patternLength
double patternLength() const
returns distance between first and last hit
Definition: MuonHoughPattern.cxx:26
MuonHoughPattern::getMaximumHistogram
double getMaximumHistogram() const
returns maximum of histogram used to generate pattern
Definition: MuonHoughPattern.h:121
MuonHoughPattern::m_ecurvature
double m_ecurvature
curvature of pattern in rz plane in mm
Definition: MuonHoughPattern.h:109
MuonHoughMathUtils.h
MuonHoughPattern::getIdNumber
int getIdNumber() const
returns id number of hough transform used to generate pattern
Definition: MuonHoughPattern.h:114
MuonHough::hough_rz
@ hough_rz
Definition: MuonHoughPattern.h:14