ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonCalib
MdtCalib
MdtCalibFitters
MdtCalibFitters
CurvedPatRec.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 MuonCalib_CurvedPatRecH
6
#define MuonCalib_CurvedPatRecH
7
8
//::::::::::::::::::::::::
9
//:: CLASS CurvedPatRec ::
10
//::::::::::::::::::::::::
11
22
23
#include <vector>
24
25
#include "
CxxUtils/checker_macros.h
"
26
#include "
GeoPrimitives/GeoPrimitives.h
"
27
#include "
MdtCalibFitters/CurvedLine.h
"
28
#include "
MdtCalibFitters/MTStraightLine.h
"
29
#include "
MdtCalibFitters/StraightPatRec.h
"
30
#include "
MdtCalibInterfaces/IMdtPatRecFitter.h
"
31
#include "
MuonCalibEventBase/MuonCalibSegment.h
"
32
33
namespace
MuonCalib
{
34
35
class
CurvedPatRec
:
public
IMdtPatRecFitter
{
36
public
:
37
using
MdtHitVec
=
MuonCalibSegment::MdtHitVec
;
38
using
MdtHitPtr
=
MuonCalibSegment::MdtHitPtr
;
39
40
// Constructors //
41
CurvedPatRec
();
43
44
CurvedPatRec
(
const
double
road_width);
46
47
// Methods //
48
double
roadWidth
()
const
;
51
52
// set-method //
53
void
setRoadWidth
(
const
double
r_road_width);
56
void
setTimeOut
(
const
double
time_out);
59
60
// methods required by the base class "IMdtSegmentFitter" //
61
bool
fit
(
MuonCalibSegment
& r_segment)
const
;
72
bool
fit
(
MuonCalibSegment
& r_segment,
HitSelection
r_selection)
const
;
86
bool
fit
(
MuonCalibSegment
& r_segment,
HitSelection
r_selection,
CurvedLine
& curved_track)
const
;
87
void
printLevel
(
int
/*level*/
){};
88
89
private
:
90
// internal co-ordinate definition //
91
// x3
92
// ^
93
// o o o o o o |
94
// ... o o o o o ... o--> x2
95
// o o o o o o x1
96
//
97
98
// settings //
99
double
m_road_width
{0.5};
// road width to be used in pattern finding
100
double
m_time_out
{10};
// time out for pattern recognition.
101
102
// straight pattern recognition to get the approximate incidence angle //
103
104
// auxiliary methods //
105
Amg::Vector3D
getHitPoint
(
const
MdtHitPtr
&
hit
,
const
MTStraightLine
& straight_track)
const
;
106
// transform the given hit into a hit point in
107
// 3 dimensions using the given straight line
108
// as helper
109
std::vector<Amg::Vector3D>
getHitPoints
(
const
MdtHitVec
& track_hits,
const
MTStraightLine
& straight_track)
const
;
110
// transform the track hits into hit points in
111
// 3 dimensions using the given straight line
112
// as helper
113
std::vector<Amg::Vector3D>
getHitPoints
(
const
MdtHitVec
& track_hits,
const
CurvedLine
& curved_track)
const
;
114
// transform the track hits into hit points in
115
// 3 dimensions using the given curved line
116
// as helper
117
};
118
119
}
// namespace MuonCalib
120
121
#endif
CurvedLine.h
GeoPrimitives.h
IMdtPatRecFitter.h
hit
bool hit(const Container &ids, int pdgId)
Definition
JetIRCSafeLabelTool.cxx:64
MTStraightLine.h
MuonCalibSegment.h
StraightPatRec.h
checker_macros.h
Define macros for attributes used to control the static checker.
MuonCalib::CurvedLine
Definition
CurvedLine.h:30
MuonCalib::CurvedPatRec::getHitPoint
Amg::Vector3D getHitPoint(const MdtHitPtr &hit, const MTStraightLine &straight_track) const
Definition
CurvedPatRec.cxx:236
MuonCalib::CurvedPatRec::MdtHitPtr
MuonCalibSegment::MdtHitPtr MdtHitPtr
Definition
CurvedPatRec.h:38
MuonCalib::CurvedPatRec::setTimeOut
void setTimeOut(const double time_out)
set the time-out for the track finding to time_out (in seconds)
Definition
CurvedPatRec.cxx:22
MuonCalib::CurvedPatRec::getHitPoints
std::vector< Amg::Vector3D > getHitPoints(const MdtHitVec &track_hits, const MTStraightLine &straight_track) const
Definition
CurvedPatRec.cxx:249
MuonCalib::CurvedPatRec::CurvedPatRec
CurvedPatRec()
Default constructor: road width of 0.5 mm is used.
MuonCalib::CurvedPatRec::printLevel
void printLevel(int)
Definition
CurvedPatRec.h:87
MuonCalib::CurvedPatRec::roadWidth
double roadWidth() const
get the road width used in the pattern recognition [mm]
Definition
CurvedPatRec.cxx:20
MuonCalib::CurvedPatRec::setRoadWidth
void setRoadWidth(const double r_road_width)
set the road width [mm] for the pattern recognition = r_road_width
Definition
CurvedPatRec.cxx:21
MuonCalib::CurvedPatRec::m_time_out
double m_time_out
Definition
CurvedPatRec.h:100
MuonCalib::CurvedPatRec::m_road_width
double m_road_width
Definition
CurvedPatRec.h:99
MuonCalib::CurvedPatRec::fit
bool fit(MuonCalibSegment &r_segment) const
reconstruction of the track using all hits in the segment "r_segment", returns true in case of succes...
Definition
CurvedPatRec.cxx:23
MuonCalib::CurvedPatRec::MdtHitVec
MuonCalibSegment::MdtHitVec MdtHitVec
Definition
CurvedPatRec.h:37
MuonCalib::IMdtPatRecFitter::IMdtPatRecFitter
IMdtPatRecFitter()
constructor
Definition
IMdtPatRecFitter.h:21
MuonCalib::IMdtSegmentFitter::HitSelection
std::vector< unsigned int > HitSelection
Definition
IMdtSegmentFitter.h:32
MuonCalib::MTStraightLine
Definition
MTStraightLine.h:16
MuonCalib::MuonCalibSegment
A MuonCalibSegment is a reconstructed three dimensional track segment in the MuonSpectrometer.
Definition
MuonCalibSegment.h:39
MuonCalib::MuonCalibSegment::MdtHitPtr
std::shared_ptr< MdtCalibHitBase > MdtHitPtr
typedef for a collection of MdtCalibHitBase s
Definition
MuonCalibSegment.h:43
MuonCalib::MuonCalibSegment::MdtHitVec
std::vector< MdtHitPtr > MdtHitVec
Definition
MuonCalibSegment.h:45
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:47
MuonCalib
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.
Definition
CscCalcPed.cxx:21
Generated on
for ATLAS Offline Software by
1.17.0