Main Page
Namespaces
Classes
Package Documentation
TrackingTools
GeomPropagators
interface
IterativeHelixExtrapolatorToLine.h
Go to the documentation of this file.
1
#ifndef IterativeHelixExtrapolatorToLine_h_
2
#define IterativeHelixExtrapolatorToLine_h_
3
4
#include "
DataFormats/TrajectorySeed/interface/PropagationDirection.h
"
5
#include "
TrackingTools/GeomPropagators/interface/HelixLineExtrapolation.h
"
6
#include "
TrackingTools/GeomPropagators/interface/HelixExtrapolatorToLine2Order.h
"
7
#include "
FWCore/Utilities/interface/Visibility.h
"
8
13
class
IterativeHelixExtrapolatorToLine
final :
public
HelixLineExtrapolation
{
14
public
:
17
IterativeHelixExtrapolatorToLine
(
const
PositionType
&
point
,
18
const
DirectionType
&
direction
,
19
const
float
curvature
,
20
const
PropagationDirection
propDir =
anyDirection
);
21
// destructor
22
~IterativeHelixExtrapolatorToLine
()
override
{}
23
28
std::pair<bool,double>
pathLength
(
const
GlobalPoint
& point)
const override
;
29
34
std::pair<bool,double>
pathLength
(
const
Line
&
line
)
const override
;
35
38
PositionType
position
(
double
s
)
const override
;
39
42
DirectionType
direction
(
double
s)
const override
;
43
46
PositionTypeDouble
positionInDouble
(
double
s)
const
;
47
50
DirectionTypeDouble
directionInDouble
(
double
s)
const
;
51
52
private
:
54
template
<
class
T>
55
std::pair<bool,double>
genericPathLength
(
const
T
&
object
)
const
dso_internal
;
56
57
private
:
58
const
double
theX0
,
theY0
,
theZ0
;
59
double
theCosPhi0
,
theSinPhi0
;
60
double
theCosTheta
,
theSinTheta
;
61
const
double
theRho
;
62
63
HelixExtrapolatorToLine2Order
theQuadraticSolutionFromStart
;
64
65
const
PropagationDirection
thePropDir
;
66
67
mutable
double
theCachedS
;
68
mutable
double
theCachedDPhi
;
69
mutable
double
theCachedSDPhi
;
70
mutable
double
theCachedCDPhi
;
71
};
72
73
#endif
IterativeHelixExtrapolatorToLine::positionInDouble
PositionTypeDouble positionInDouble(double s) const
Definition:
IterativeHelixExtrapolatorToLine.cc:144
IterativeHelixExtrapolatorToLine::~IterativeHelixExtrapolatorToLine
~IterativeHelixExtrapolatorToLine() override
Definition:
IterativeHelixExtrapolatorToLine.h:22
IterativeHelixExtrapolatorToLine::theX0
const double theX0
Definition:
IterativeHelixExtrapolatorToLine.h:58
IterativeHelixExtrapolatorToLine::theSinPhi0
double theSinPhi0
Definition:
IterativeHelixExtrapolatorToLine.h:59
IterativeHelixExtrapolatorToLine::position
PositionType position(double s) const override
Definition:
IterativeHelixExtrapolatorToLine.cc:135
IterativeHelixExtrapolatorToLine::IterativeHelixExtrapolatorToLine
IterativeHelixExtrapolatorToLine(const PositionType &point, const DirectionType &direction, const float curvature, const PropagationDirection propDir=anyDirection)
Definition:
IterativeHelixExtrapolatorToLine.cc:5
IterativeHelixExtrapolatorToLine::directionInDouble
DirectionTypeDouble directionInDouble(double s) const
Definition:
IterativeHelixExtrapolatorToLine.cc:194
anyDirection
Definition:
PropagationDirection.h:4
Line
Definition:
Line.h:10
geometryCSVtoXML.line
line
Definition:
geometryCSVtoXML.py:15
alignCSCRings.s
s
Definition:
alignCSCRings.py:91
IterativeHelixExtrapolatorToLine::theCosTheta
double theCosTheta
Definition:
IterativeHelixExtrapolatorToLine.h:60
IterativeHelixExtrapolatorToLine::direction
DirectionType direction(double s) const override
Definition:
IterativeHelixExtrapolatorToLine.cc:183
PropagationDirection
PropagationDirection
Definition:
PropagationDirection.h:4
IterativeHelixExtrapolatorToLine::genericPathLength
std::pair< bool, double > genericPathLength(const T &object) const
common functionality for extrapolation to line or point
Definition:
IterativeHelixExtrapolatorToLine.cc:58
Visibility.h
PixelRecoUtilities::curvature
T curvature(T InversePt, const edm::EventSetup &iSetup)
Definition:
PixelRecoUtilities.h:41
HelixLineExtrapolation.h
IterativeHelixExtrapolatorToLine::theY0
const double theY0
Definition:
IterativeHelixExtrapolatorToLine.h:58
Basic3DVector< float >
PropagationDirection.h
HelixExtrapolatorToLine2Order
Definition:
HelixExtrapolatorToLine2Order.h:11
HelixLineExtrapolation
Definition:
HelixLineExtrapolation.h:17
IterativeHelixExtrapolatorToLine::theRho
const double theRho
Definition:
IterativeHelixExtrapolatorToLine.h:61
IterativeHelixExtrapolatorToLine::theCachedCDPhi
double theCachedCDPhi
Definition:
IterativeHelixExtrapolatorToLine.h:70
IterativeHelixExtrapolatorToLine::theCachedSDPhi
double theCachedSDPhi
Definition:
IterativeHelixExtrapolatorToLine.h:69
HelixExtrapolatorToLine2Order.h
IterativeHelixExtrapolatorToLine::theCachedS
double theCachedS
Definition:
IterativeHelixExtrapolatorToLine.h:67
IterativeHelixExtrapolatorToLine
Definition:
IterativeHelixExtrapolatorToLine.h:13
IterativeHelixExtrapolatorToLine::theCachedDPhi
double theCachedDPhi
Definition:
IterativeHelixExtrapolatorToLine.h:68
dso_internal
#define dso_internal
Point3DBase< float, GlobalTag >
IterativeHelixExtrapolatorToLine::theQuadraticSolutionFromStart
HelixExtrapolatorToLine2Order theQuadraticSolutionFromStart
Definition:
IterativeHelixExtrapolatorToLine.h:63
IterativeHelixExtrapolatorToLine::pathLength
std::pair< bool, double > pathLength(const GlobalPoint &point) const override
Definition:
IterativeHelixExtrapolatorToLine.cc:40
IterativeHelixExtrapolatorToLine::theSinTheta
double theSinTheta
Definition:
IterativeHelixExtrapolatorToLine.h:60
IterativeHelixExtrapolatorToLine::theCosPhi0
double theCosPhi0
Definition:
IterativeHelixExtrapolatorToLine.h:59
IterativeHelixExtrapolatorToLine::thePropDir
const PropagationDirection thePropDir
Definition:
IterativeHelixExtrapolatorToLine.h:65
IterativeHelixExtrapolatorToLine::theZ0
const double theZ0
Definition:
IterativeHelixExtrapolatorToLine.h:58
T
long double T
Definition:
Basic3DVectorLD.h:66
point
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition:
invegas.h:5
Generated for CMSSW Reference Manual by
1.8.11