Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
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,
21
const
double
& y0,
22
const
double
& z0,
23
const
double
& cosPhi0,
24
const
double
& sinPhi0,
25
const
double
& cosTheta,
26
const
double
& sinTheta,
27
const
double
&
rho
,
28
const
PropagationDirection
propDir =
alongMomentum
)
29
:
thePosition
(x0, y0, z0),
30
theDirection
(cosPhi0, sinPhi0, cosTheta / sinTheta),
31
theSinTheta
(sinTheta),
32
theRho
(rho),
33
thePropDir
(propDir) {}
34
35
// destructor
36
~HelixExtrapolatorToLine2Order
()
override
{}
37
42
std::pair<bool, double>
pathLength
(
const
GlobalPoint
& point)
const override
;
43
48
std::pair<bool, double>
pathLength
(
const
Line
&
line
)
const override
;
49
51
PositionType
position
(
double
s
)
const override
;
52
54
DirectionType
direction
(
double
s
)
const override
;
55
57
PositionTypeDouble
positionInDouble
(
double
s
)
const
;
58
60
DirectionTypeDouble
directionInDouble
(
double
s
)
const
;
61
62
private
:
64
virtual
std::pair<bool, double>
pathLengthFromCoefficients
(
const
double
ceq[4])
const
dso_internal
;
66
int
solve3rdOrder
(
const
double
ceq[],
double
sol[])
const
dso_internal
;
68
int
solve2ndOrder
(
const
double
ceq[],
double
sol[])
const
dso_internal
;
69
70
private
:
71
const
PositionTypeDouble
thePosition
;
72
DirectionTypeDouble
theDirection
;
73
double
theSinTheta
;
74
const
double
theRho
;
75
const
PropagationDirection
thePropDir
;
76
};
77
78
#endif
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:36
HelixExtrapolatorToLine2Order::positionInDouble
PositionTypeDouble positionInDouble(double s) const
Position at pathlength s from the starting point in double precision.
Definition:
HelixExtrapolatorToLine2Order.cc:198
Line
Definition:
Line.h:10
HelixLineExtrapolation::PositionTypeDouble
Basic3DVector< double > PositionTypeDouble
Definition:
HelixLineExtrapolation.h:24
HelixExtrapolatorToLine2Order::solve3rdOrder
int solve3rdOrder(const double ceq[], double sol[]) const
Solutions of 3rd order equation.
Definition:
HelixExtrapolatorToLine2Order.cc:117
alongMomentum
Definition:
PropagationDirection.h:4
HelixExtrapolatorToLine2Order::position
PositionType position(double s) const override
Position at pathlength s from the starting point.
Definition:
HelixExtrapolatorToLine2Order.cc:189
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
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
geometryCSVtoXML.line
tuple line
Definition:
geometryCSVtoXML.py:16
HelixLineExtrapolation::PositionType
Basic3DVector< float > PositionType
Definition:
HelixLineExtrapolation.h:22
HelixLineExtrapolation.h
Basic3DVector< float >
HelixExtrapolatorToLine2Order::theSinTheta
double theSinTheta
Definition:
HelixExtrapolatorToLine2Order.h:73
PropagationDirection.h
HelixExtrapolatorToLine2Order
Definition:
HelixExtrapolatorToLine2Order.h:11
dso_internal
#define dso_internal
Definition:
Visibility.h:13
HelixExtrapolatorToLine2Order::solve2ndOrder
int solve2ndOrder(const double ceq[], double sol[]) const
Solutions of 2nd order equation.
Definition:
HelixExtrapolatorToLine2Order.cc:159
HelixLineExtrapolation
Definition:
HelixLineExtrapolation.h:15
HelixExtrapolatorToLine2Order::thePropDir
const PropagationDirection thePropDir
Definition:
HelixExtrapolatorToLine2Order.h:75
HelixExtrapolatorToLine2Order::pathLengthFromCoefficients
virtual std::pair< bool, double > pathLengthFromCoefficients(const double ceq[4]) const
common part for propagation to point and line
Definition:
HelixExtrapolatorToLine2Order.cc:76
HelixExtrapolatorToLine2Order::theDirection
DirectionTypeDouble theDirection
Definition:
HelixExtrapolatorToLine2Order.h:72
alignCSCRings.s
list s
Definition:
alignCSCRings.py:92
HelixExtrapolatorToLine2Order::directionInDouble
DirectionTypeDouble directionInDouble(double s) const
Direction at pathlength s from the starting point in double precision.
Definition:
HelixExtrapolatorToLine2Order.cc:217
Point3DBase< float, GlobalTag >
HelixExtrapolatorToLine2Order::direction
DirectionType direction(double s) const override
Direction at pathlength s from the starting point.
Definition:
HelixExtrapolatorToLine2Order.cc:208
HelixExtrapolatorToLine2Order::thePosition
const PositionTypeDouble thePosition
Definition:
HelixExtrapolatorToLine2Order.h:71
HelixExtrapolatorToLine2Order::pathLength
std::pair< bool, double > pathLength(const GlobalPoint &point) const override
Definition:
HelixExtrapolatorToLine2Order.cc:28
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:74
Generated for CMSSW Reference Manual by
1.8.5