Main Page
Namespaces
Classes
Package Documentation
src
TrackingTools
GeomPropagators
interface
HelixExtrapolatorToLine2Order.h
Go to the documentation of this file.
1
#ifndef HelixExtrapolatorToLine2Order_h_
2
#define HelixExtrapolatorToLine2Order_h_
3
4
#include "
TrackingTools/GeomPropagators/interface/HelixLineExtrapolation.h
"
5
#include "
DataFormats/TrajectorySeed/interface/PropagationDirection.h
"
6
#include "
FWCore/Utilities/interface/Visibility.h
"
7
11
class
HelixExtrapolatorToLine2Order
final :
public
HelixLineExtrapolation
{
12
public
:
14
HelixExtrapolatorToLine2Order
(
const
PositionType
&
point
,
15
const
DirectionType
&
direction
,
16
const
float
curvature
,
17
const
PropagationDirection
propDir =
alongMomentum
);
18
20
HelixExtrapolatorToLine2Order
(
const
double
& x0,
const
double
& y0,
const
double
& z0,
21
const
double
& cosPhi0,
const
double
& sinPhi0,
22
const
double
& cosTheta,
const
double
& sinTheta,
23
const
double
&
rho
,
24
const
PropagationDirection
propDir =
alongMomentum
) :
25
thePosition
(x0,y0,z0),
26
theDirection
(cosPhi0,sinPhi0,cosTheta/sinTheta),
27
theSinTheta
(sinTheta),
28
theRho
(rho),
29
thePropDir
(propDir) {}
30
31
// destructor
32
~HelixExtrapolatorToLine2Order
()
override
{}
33
38
std::pair<bool,double>
pathLength
(
const
GlobalPoint
& point)
const override
;
39
44
std::pair<bool,double>
pathLength
(
const
Line
&
line
)
const override
;
45
47
PositionType
position
(
double
s
)
const override
;
48
50
DirectionType
direction
(
double
s)
const override
;
51
53
PositionTypeDouble
positionInDouble
(
double
s)
const
;
54
56
DirectionTypeDouble
directionInDouble
(
double
s)
const
;
57
58
private
:
60
virtual
std::pair<bool,double>
pathLengthFromCoefficients
(
const
double
ceq[4])
const
dso_internal
;
62
int
solve3rdOrder
(
const
double
ceq[],
double
sol[])
const
dso_internal
;
64
int
solve2ndOrder
(
const
double
ceq[],
double
sol[])
const
dso_internal
;
65
66
private
:
67
const
PositionTypeDouble
thePosition
;
68
DirectionTypeDouble
theDirection
;
69
double
theSinTheta
;
70
const
double
theRho
;
71
const
PropagationDirection
thePropDir
;
72
};
73
74
#endif
75
76
HelixExtrapolatorToLine2Order::HelixExtrapolatorToLine2Order
HelixExtrapolatorToLine2Order(const PositionType &point, const DirectionType &direction, const float curvature, const PropagationDirection propDir=alongMomentum)
Constructor using point, direction and (transverse!) curvature.
Definition:
HelixExtrapolatorToLine2Order.cc:7
DDAxes::rho
HelixExtrapolatorToLine2Order::~HelixExtrapolatorToLine2Order
~HelixExtrapolatorToLine2Order() override
Definition:
HelixExtrapolatorToLine2Order.h:32
HelixExtrapolatorToLine2Order::positionInDouble
PositionTypeDouble positionInDouble(double s) const
Position at pathlength s from the starting point in double precision.
Definition:
HelixExtrapolatorToLine2Order.cc:215
Line
Definition:
Line.h:10
geometryCSVtoXML.line
line
Definition:
geometryCSVtoXML.py:15
HelixExtrapolatorToLine2Order::direction
DirectionType direction(double s) const override
Direction at pathlength s from the starting point.
Definition:
HelixExtrapolatorToLine2Order.cc:226
alignCSCRings.s
s
Definition:
alignCSCRings.py:91
HelixExtrapolatorToLine2Order::solve3rdOrder
int solve3rdOrder(const double ceq[], double sol[]) const
Solutions of 3rd order equation.
Definition:
HelixExtrapolatorToLine2Order.cc:126
alongMomentum
Definition:
PropagationDirection.h:4
PropagationDirection
PropagationDirection
Definition:
PropagationDirection.h:4
HelixExtrapolatorToLine2Order::position
PositionType position(double s) const override
Position at pathlength s from the starting point.
Definition:
HelixExtrapolatorToLine2Order.cc:205
Visibility.h
HelixExtrapolatorToLine2Order::HelixExtrapolatorToLine2Order
HelixExtrapolatorToLine2Order(const double &x0, const double &y0, const double &z0, const double &cosPhi0, const double &sinPhi0, const double &cosTheta, const double &sinTheta, const double &rho, const PropagationDirection propDir=alongMomentum)
Fast constructor (for use by IterativeHelixExtrapolatorToLine).
Definition:
HelixExtrapolatorToLine2Order.h:20
PixelRecoUtilities::curvature
T curvature(T InversePt, const edm::EventSetup &iSetup)
Definition:
PixelRecoUtilities.h:41
HelixLineExtrapolation.h
Basic3DVector< float >
HelixExtrapolatorToLine2Order::theSinTheta
double theSinTheta
Definition:
HelixExtrapolatorToLine2Order.h:69
PropagationDirection.h
HelixExtrapolatorToLine2Order
Definition:
HelixExtrapolatorToLine2Order.h:11
HelixExtrapolatorToLine2Order::solve2ndOrder
int solve2ndOrder(const double ceq[], double sol[]) const
Solutions of 2nd order equation.
Definition:
HelixExtrapolatorToLine2Order.cc:172
HelixLineExtrapolation
Definition:
HelixLineExtrapolation.h:17
HelixExtrapolatorToLine2Order::pathLength
std::pair< bool, double > pathLength(const GlobalPoint &point) const override
Definition:
HelixExtrapolatorToLine2Order.cc:32
HelixExtrapolatorToLine2Order::thePropDir
const PropagationDirection thePropDir
Definition:
HelixExtrapolatorToLine2Order.h:71
HelixExtrapolatorToLine2Order::pathLengthFromCoefficients
virtual std::pair< bool, double > pathLengthFromCoefficients(const double ceq[4]) const
common part for propagation to point and line
Definition:
HelixExtrapolatorToLine2Order.cc:86
HelixExtrapolatorToLine2Order::theDirection
DirectionTypeDouble theDirection
Definition:
HelixExtrapolatorToLine2Order.h:68
HelixExtrapolatorToLine2Order::directionInDouble
DirectionTypeDouble directionInDouble(double s) const
Direction at pathlength s from the starting point in double precision.
Definition:
HelixExtrapolatorToLine2Order.cc:236
dso_internal
#define dso_internal
Point3DBase< float, GlobalTag >
HelixExtrapolatorToLine2Order::thePosition
const PositionTypeDouble thePosition
Definition:
HelixExtrapolatorToLine2Order.h:67
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
HelixExtrapolatorToLine2Order::theRho
const double theRho
Definition:
HelixExtrapolatorToLine2Order.h:70
Generated for CMSSW Reference Manual by
1.8.11