Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
RecoTracker
TkSeedGenerator
src
FastLine.cc
Go to the documentation of this file.
1
#include "
RecoTracker/TkSeedGenerator/interface/FastLine.h
"
2
3
FastLine::FastLine
(
const
GlobalPoint
& outerHit,
4
const
GlobalPoint
& innerHit) :
5
theOuterHit(outerHit),
6
theInnerHit(innerHit),
7
theRho(0.),
8
theN1(0.),
9
theN2(0.),
10
theC(0.),
11
theValid(
true
) {
12
13
createLineParameters
();
14
15
}
16
17
FastLine::FastLine
(
const
GlobalPoint
& outerHit,
18
const
GlobalPoint
& innerHit,
19
double
rho
) :
20
theOuterHit(outerHit),
21
theInnerHit(innerHit),
22
theRho(rho),
23
theN1(0.),
24
theN2(0.),
25
theC(0.),
26
theValid(
true
) {
27
28
createLineParameters
();
29
30
}
31
32
void
FastLine::createLineParameters
() {
33
34
double
rphi0 = 0., rphi1 = 0.;
35
36
if
(
theRho
> 0.) {
37
if
(fabs( 1. -
theInnerHit
.
perp2
()/(2.*
theRho
*
theRho
) ) > 1.) rphi0 =
theInnerHit
.
perp
();
38
else
rphi0 =
theRho
*acos(1. -
theInnerHit
.
perp2
()/(2.*
theRho
*
theRho
));
39
if
(fabs(1. -
theOuterHit
.
perp2
()/(2.*
theRho
*
theRho
) ) >1.) rphi1 =
theOuterHit
.
perp
();
40
else
rphi1 =
theRho
*acos(1. -
theOuterHit
.
perp2
()/(2.*
theRho
*
theRho
));
41
}
else
{
42
rphi0 =
theInnerHit
.
perp
();
43
rphi1 =
theOuterHit
.
perp
();
44
}
45
46
double
n1
=
theInnerHit
.
z
() -
theOuterHit
.
z
();
47
double
n2
= -(rphi0 - rphi1);
48
double
norm =
sqrt
(n1*n1 + n2*n2);
49
theN1
= n1/norm;
50
theN2
= n2/norm;
51
theC
= -(
theN1
*rphi0 +
theN2
*
theInnerHit
.
z
());
52
// theC = -(theN1*rphi1 + theN2*theOuterHit.z());
53
54
}
55
56
57
58
59
60
FastLine::theOuterHit
GlobalPoint theOuterHit
Definition:
FastLine.h:38
PV3DBase::perp
T perp() const
Definition:
PV3DBase.h:72
FastLine::FastLine
FastLine(const GlobalPoint &outerHit, const GlobalPoint &innerHit)
Definition:
FastLine.cc:3
rho
Definition:
DDAxes.h:10
PV3DBase::perp2
T perp2() const
Definition:
PV3DBase.h:71
funct::true
true
Definition:
Factorize.h:183
FastLine.h
mathSSE::sqrt
T sqrt(T t)
Definition:
SSEVec.h:48
PV3DBase::z
T z() const
Definition:
PV3DBase.h:64
FastLine::n1
double n1() const
Definition:
FastLine.h:28
FastLine::theRho
double theRho
Definition:
FastLine.h:40
FastLine::createLineParameters
void createLineParameters()
Definition:
FastLine.cc:32
FastLine::theN2
double theN2
Definition:
FastLine.h:43
FastLine::theInnerHit
GlobalPoint theInnerHit
Definition:
FastLine.h:39
FastLine::theC
double theC
Definition:
FastLine.h:44
FastLine::theN1
double theN1
Definition:
FastLine.h:42
Point3DBase< float, GlobalTag >
FastLine::n2
double n2() const
Definition:
FastLine.h:30
Generated for CMSSW Reference Manual by
1.8.5