ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkUtilityPackages
TrkDriftCircleMath
TrkDriftCircleMath
ResidualWithLine.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef DCMATH_RESIDUALWITHLINE_H
6
#define DCMATH_RESIDUALWITHLINE_H
7
8
#include "
TrkDriftCircleMath/Cluster.h
"
9
#include "
TrkDriftCircleMath/DriftCircle.h
"
10
#include "
TrkDriftCircleMath/Line.h
"
11
#include "
TrkDriftCircleMath/LocVec2D.h
"
12
#include "
TrkDriftCircleMath/TransformToLine.h
"
13
14
namespace
TrkDriftCircleMath
{
15
16
class
ResidualWithLine
{
17
public
:
18
ResidualWithLine
() =
default
;
19
ResidualWithLine
(
const
Line
& line) :
m_transToLine
(line) {}
20
21
double
residual
(
const
LocVec2D
& pos)
const
{
return
m_transToLine
.toLineY(pos); }
22
23
double
residual
(
const
DriftCircle
& dc)
const
{
return
std::abs(
residual
(dc.
position
())) - std::abs(dc.
r
()); }
24
25
double
residual
(
const
Cluster
& cl)
const
{
26
// the residual of a cluster is calculated from the point of closest approach and
27
// the angle of the line with the plane
28
double
driftRes =
residual
(cl.position());
29
double
sinPhi =
m_transToLine
.toLineRotation().sinphi();
30
if
(sinPhi < 1e-13) sinPhi = 1e-13;
31
return
driftRes / sinPhi;
32
}
33
34
void
set
(
const
Line
& line) {
m_transToLine
.set(line); }
35
36
protected
:
37
TransformToLine
m_transToLine
;
38
};
39
40
}
// namespace TrkDriftCircleMath
41
42
#endif
DriftCircle.h
Line.h
LocVec2D.h
Cluster.h
TransformToLine.h
TrkDriftCircleMath::Cluster
class representing a cluster meaurement
Definition
Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/Cluster.h:22
TrkDriftCircleMath::DriftCircle
This class represents a drift time measurement.
Definition
DriftCircle.h:22
TrkDriftCircleMath::DriftCircle::r
double r() const
access to drift radius
Definition
DriftCircle.h:86
TrkDriftCircleMath::DriftCircle::position
const LocVec2D & position() const
access to local position
Definition
DriftCircle.h:74
TrkDriftCircleMath::Line
Definition
Line.h:17
TrkDriftCircleMath::LocVec2D
Implementation of 2 dimensional vector class.
Definition
LocVec2D.h:16
TrkDriftCircleMath::ResidualWithLine::residual
double residual(const DriftCircle &dc) const
Definition
ResidualWithLine.h:23
TrkDriftCircleMath::ResidualWithLine::residual
double residual(const Cluster &cl) const
Definition
ResidualWithLine.h:25
TrkDriftCircleMath::ResidualWithLine::m_transToLine
TransformToLine m_transToLine
Definition
ResidualWithLine.h:37
TrkDriftCircleMath::ResidualWithLine::ResidualWithLine
ResidualWithLine()=default
TrkDriftCircleMath::ResidualWithLine::residual
double residual(const LocVec2D &pos) const
Definition
ResidualWithLine.h:21
TrkDriftCircleMath::ResidualWithLine::ResidualWithLine
ResidualWithLine(const Line &line)
Definition
ResidualWithLine.h:19
TrkDriftCircleMath::ResidualWithLine::set
void set(const Line &line)
Definition
ResidualWithLine.h:34
TrkDriftCircleMath::TransformToLine
Definition
TransformToLine.h:15
TrkDriftCircleMath
Function object to check whether two Segments are sub/super sets or different.
Definition
IMdtSegmentFinder.h:13
Generated on
for ATLAS Offline Software by
1.17.0