TrackingTools
PatternTools
interface
TwoTrackMinimumDistanceHelixLine.h
Go to the documentation of this file.
1
#ifndef _Tracker_TwoTrackMinimumDistanceHelixLine_H_
2
#define _Tracker_TwoTrackMinimumDistanceHelixLine_H_
3
4
#include "
DataFormats/GeometryVector/interface/GlobalPoint.h
"
5
#include "
DataFormats/GeometryVector/interface/GlobalVector.h
"
6
#include <utility>
15
class
GlobalTrajectoryParameters
;
16
17
class
TwoTrackMinimumDistanceHelixLine
{
18
public
:
19
TwoTrackMinimumDistanceHelixLine
() :
theH
(nullptr),
theL
(nullptr),
themaxiter
(12),
pointsUpdated
(
false
) {}
20
~TwoTrackMinimumDistanceHelixLine
() {}
21
28
bool
calculate
(
const
GlobalTrajectoryParameters
&,
29
const
GlobalTrajectoryParameters
&,
30
const
float
qual = .0001);
// retval=true? error occured.
31
37
std::pair<GlobalPoint, GlobalPoint>
points
()
const
;
38
std::pair<double, double>
pathLength
()
const
;
39
40
double
firstAngle
()
const
;
41
double
secondAngle
()
const
;
42
43
private
:
44
const
GlobalTrajectoryParameters
*
theH
, *
theL
, *
firstGTP
, *
secondGTP
;
45
GlobalVector
posDiff
;
46
GlobalVector
theLp
;
47
double
X
,
Y
,
Z
,
px
,
py
,
pz
,
px2
,
py2
,
pz2
,
baseFct
,
baseDer
;
48
double
theh
,
thePhiH0
,
thesinPhiH0
,
thecosPhiH0
,
thetanlambdaH
;
49
double
thePhiH
;
50
double
Hn
,
Ln
;
51
double
aa
,
bb
,
cc
,
dd
,
ee
,
ff
;
52
53
int
themaxiter
;
54
bool
updateCoeffs
();
55
void
finalPoints
();
56
bool
oneIteration
(
double
&
thePhiH
,
double
&fct,
double
&
derivative
)
const
;
57
GlobalPoint
helixPoint
,
linePoint
;
58
double
tL
,
linePath
,
helixPath
;
59
bool
pointsUpdated
;
60
};
61
#endif
Vector3DBase
Definition:
Vector3DBase.h:8
TwoTrackMinimumDistanceHelixLine::thePhiH0
double thePhiH0
Definition:
TwoTrackMinimumDistanceHelixLine.h:48
TwoTrackMinimumDistanceHelixLine::tL
double tL
Definition:
TwoTrackMinimumDistanceHelixLine.h:58
TwoTrackMinimumDistanceHelixLine::pz
double pz
Definition:
TwoTrackMinimumDistanceHelixLine.h:47
funct::false
false
Definition:
Factorize.h:29
TwoTrackMinimumDistanceHelixLine::Hn
double Hn
Definition:
TwoTrackMinimumDistanceHelixLine.h:50
TwoTrackMinimumDistanceHelixLine
Definition:
TwoTrackMinimumDistanceHelixLine.h:17
TwoTrackMinimumDistanceHelixLine::aa
double aa
Definition:
TwoTrackMinimumDistanceHelixLine.h:51
TwoTrackMinimumDistanceHelixLine::theh
double theh
Definition:
TwoTrackMinimumDistanceHelixLine.h:48
TwoTrackMinimumDistanceHelixLine::dd
double dd
Definition:
TwoTrackMinimumDistanceHelixLine.h:51
TwoTrackMinimumDistanceHelixLine::firstAngle
double firstAngle() const
Definition:
TwoTrackMinimumDistanceHelixLine.cc:139
TwoTrackMinimumDistanceHelixLine::theH
const GlobalTrajectoryParameters * theH
Definition:
TwoTrackMinimumDistanceHelixLine.h:44
TwoTrackMinimumDistanceHelixLine::pointsUpdated
bool pointsUpdated
Definition:
TwoTrackMinimumDistanceHelixLine.h:59
TwoTrackMinimumDistanceHelixLine::firstGTP
const GlobalTrajectoryParameters * firstGTP
Definition:
TwoTrackMinimumDistanceHelixLine.h:44
funct::derivative
Derivative< X, A >::type derivative(const A &_)
Definition:
Derivative.h:18
TwoTrackMinimumDistanceHelixLine::finalPoints
void finalPoints()
Definition:
TwoTrackMinimumDistanceHelixLine.cc:167
TwoTrackMinimumDistanceHelixLine::thecosPhiH0
double thecosPhiH0
Definition:
TwoTrackMinimumDistanceHelixLine.h:48
TwoTrackMinimumDistanceHelixLine::linePoint
GlobalPoint linePoint
Definition:
TwoTrackMinimumDistanceHelixLine.h:57
TwoTrackMinimumDistanceHelixLine::TwoTrackMinimumDistanceHelixLine
TwoTrackMinimumDistanceHelixLine()
Definition:
TwoTrackMinimumDistanceHelixLine.h:19
TwoTrackMinimumDistanceHelixLine::secondGTP
const GlobalTrajectoryParameters * secondGTP
Definition:
TwoTrackMinimumDistanceHelixLine.h:44
TwoTrackMinimumDistanceHelixLine::pz2
double pz2
Definition:
TwoTrackMinimumDistanceHelixLine.h:47
TwoTrackMinimumDistanceHelixLine::updateCoeffs
bool updateCoeffs()
Definition:
TwoTrackMinimumDistanceHelixLine.cc:10
TwoTrackMinimumDistanceHelixLine::oneIteration
bool oneIteration(double &thePhiH, double &fct, double &derivative) const
Definition:
TwoTrackMinimumDistanceHelixLine.cc:77
TwoTrackMinimumDistanceHelixLine::ff
double ff
Definition:
TwoTrackMinimumDistanceHelixLine.h:51
TwoTrackMinimumDistanceHelixLine::Y
double Y
Definition:
TwoTrackMinimumDistanceHelixLine.h:47
TwoTrackMinimumDistanceHelixLine::Z
double Z
Definition:
TwoTrackMinimumDistanceHelixLine.h:47
TwoTrackMinimumDistanceHelixLine::px
double px
Definition:
TwoTrackMinimumDistanceHelixLine.h:47
TwoTrackMinimumDistanceHelixLine::Ln
double Ln
Definition:
TwoTrackMinimumDistanceHelixLine.h:50
TwoTrackMinimumDistanceHelixLine::px2
double px2
Definition:
TwoTrackMinimumDistanceHelixLine.h:47
GlobalTrajectoryParameters
Definition:
GlobalTrajectoryParameters.h:15
TwoTrackMinimumDistanceHelixLine::points
std::pair< GlobalPoint, GlobalPoint > points() const
Definition:
TwoTrackMinimumDistanceHelixLine.cc:153
Point3DBase< float, GlobalTag >
TwoTrackMinimumDistanceHelixLine::posDiff
GlobalVector posDiff
Definition:
TwoTrackMinimumDistanceHelixLine.h:45
TwoTrackMinimumDistanceHelixLine::X
double X
Definition:
TwoTrackMinimumDistanceHelixLine.h:47
TwoTrackMinimumDistanceHelixLine::bb
double bb
Definition:
TwoTrackMinimumDistanceHelixLine.h:51
TwoTrackMinimumDistanceHelixLine::helixPath
double helixPath
Definition:
TwoTrackMinimumDistanceHelixLine.h:58
TwoTrackMinimumDistanceHelixLine::thesinPhiH0
double thesinPhiH0
Definition:
TwoTrackMinimumDistanceHelixLine.h:48
TwoTrackMinimumDistanceHelixLine::themaxiter
int themaxiter
Definition:
TwoTrackMinimumDistanceHelixLine.h:53
TwoTrackMinimumDistanceHelixLine::pathLength
std::pair< double, double > pathLength() const
Definition:
TwoTrackMinimumDistanceHelixLine.cc:160
TwoTrackMinimumDistanceHelixLine::thePhiH
double thePhiH
Definition:
TwoTrackMinimumDistanceHelixLine.h:49
TwoTrackMinimumDistanceHelixLine::ee
double ee
Definition:
TwoTrackMinimumDistanceHelixLine.h:51
TwoTrackMinimumDistanceHelixLine::cc
double cc
Definition:
TwoTrackMinimumDistanceHelixLine.h:51
TwoTrackMinimumDistanceHelixLine::theLp
GlobalVector theLp
Definition:
TwoTrackMinimumDistanceHelixLine.h:46
TwoTrackMinimumDistanceHelixLine::thetanlambdaH
double thetanlambdaH
Definition:
TwoTrackMinimumDistanceHelixLine.h:48
TwoTrackMinimumDistanceHelixLine::baseFct
double baseFct
Definition:
TwoTrackMinimumDistanceHelixLine.h:47
TwoTrackMinimumDistanceHelixLine::baseDer
double baseDer
Definition:
TwoTrackMinimumDistanceHelixLine.h:47
GlobalVector.h
TwoTrackMinimumDistanceHelixLine::~TwoTrackMinimumDistanceHelixLine
~TwoTrackMinimumDistanceHelixLine()
Definition:
TwoTrackMinimumDistanceHelixLine.h:20
TwoTrackMinimumDistanceHelixLine::helixPoint
GlobalPoint helixPoint
Definition:
TwoTrackMinimumDistanceHelixLine.h:57
TwoTrackMinimumDistanceHelixLine::theL
const GlobalTrajectoryParameters * theL
Definition:
TwoTrackMinimumDistanceHelixLine.h:44
TwoTrackMinimumDistanceHelixLine::py2
double py2
Definition:
TwoTrackMinimumDistanceHelixLine.h:47
TwoTrackMinimumDistanceHelixLine::linePath
double linePath
Definition:
TwoTrackMinimumDistanceHelixLine.h:58
GlobalPoint.h
TwoTrackMinimumDistanceHelixLine::py
double py
Definition:
TwoTrackMinimumDistanceHelixLine.h:47
TwoTrackMinimumDistanceHelixLine::calculate
bool calculate(const GlobalTrajectoryParameters &, const GlobalTrajectoryParameters &, const float qual=.0001)
Definition:
TwoTrackMinimumDistanceHelixLine.cc:105
TwoTrackMinimumDistanceHelixLine::secondAngle
double secondAngle() const
Definition:
TwoTrackMinimumDistanceHelixLine.cc:146
Generated for CMSSW Reference Manual by
1.8.16