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::~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::IterativeHelixExtrapolatorToLine
IterativeHelixExtrapolatorToLine(const PositionType &point, const DirectionType &direction, const float curvature, const PropagationDirection propDir=anyDirection)
Definition:
IterativeHelixExtrapolatorToLine.cc:4
IterativeHelixExtrapolatorToLine::positionInDouble
PositionTypeDouble positionInDouble(double s) const
Definition:
IterativeHelixExtrapolatorToLine.cc:136
anyDirection
Definition:
PropagationDirection.h:4
Line
Definition:
Line.h:10
HelixLineExtrapolation::PositionTypeDouble
Basic3DVector< double > PositionTypeDouble
Definition:
HelixLineExtrapolation.h:24
alignCSCRings.s
s
Definition:
alignCSCRings.py:92
IterativeHelixExtrapolatorToLine::theCosTheta
double theCosTheta
Definition:
IterativeHelixExtrapolatorToLine.h:60
PropagationDirection
PropagationDirection
Definition:
PropagationDirection.h:4
HelixLineExtrapolation::DirectionTypeDouble
Basic3DVector< double > DirectionTypeDouble
Definition:
HelixLineExtrapolation.h:25
PixelRecoUtilities::curvature
T curvature(T InversePt, const MagneticField &field)
Definition:
PixelRecoUtilities.h:23
HelixLineExtrapolation::DirectionType
Basic3DVector< float > DirectionType
Definition:
HelixLineExtrapolation.h:23
Visibility.h
IterativeHelixExtrapolatorToLine::position
PositionType position(double s) const override
Definition:
IterativeHelixExtrapolatorToLine.cc:128
HelixLineExtrapolation::PositionType
Basic3DVector< float > PositionType
Definition:
HelixLineExtrapolation.h:22
HelixLineExtrapolation.h
IterativeHelixExtrapolatorToLine::theY0
const double theY0
Definition:
IterativeHelixExtrapolatorToLine.h:58
Basic3DVector< float >
PropagationDirection.h
HelixExtrapolatorToLine2Order
Definition:
HelixExtrapolatorToLine2Order.h:11
mps_splice.line
line
Definition:
mps_splice.py:76
dso_internal
#define dso_internal
Definition:
Visibility.h:13
HelixLineExtrapolation
Definition:
HelixLineExtrapolation.h:15
IterativeHelixExtrapolatorToLine::direction
DirectionType direction(double s) const override
Definition:
IterativeHelixExtrapolatorToLine.cc:174
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::pathLength
std::pair< bool, double > pathLength(const GlobalPoint &point) const override
Definition:
IterativeHelixExtrapolatorToLine.cc:37
IterativeHelixExtrapolatorToLine::theCachedDPhi
double theCachedDPhi
Definition:
IterativeHelixExtrapolatorToLine.h:68
Point3DBase< float, GlobalTag >
IterativeHelixExtrapolatorToLine::theQuadraticSolutionFromStart
HelixExtrapolatorToLine2Order theQuadraticSolutionFromStart
Definition:
IterativeHelixExtrapolatorToLine.h:63
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::directionInDouble
DirectionTypeDouble directionInDouble(double s) const
Definition:
IterativeHelixExtrapolatorToLine.cc:184
IterativeHelixExtrapolatorToLine::genericPathLength
std::pair< bool, double > genericPathLength(const T &object) const
common functionality for extrapolation to line or point
Definition:
IterativeHelixExtrapolatorToLine.cc:53
IterativeHelixExtrapolatorToLine::theZ0
const double theZ0
Definition:
IterativeHelixExtrapolatorToLine.h:58
T
long double T
Definition:
Basic3DVectorLD.h:48
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.14