Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
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
GCC11_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
virtual
~HelixExtrapolatorToLine2Order
() {}
33
38
virtual
std::pair<bool,double>
pathLength
(
const
GlobalPoint
& point)
const
;
39
44
virtual
std::pair<bool,double>
pathLength
(
const
Line
&
line
)
const
;
45
47
virtual
PositionType
position
(
double
s
)
const
;
48
50
virtual
DirectionType
direction
(
double
s
)
const
;
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
HelixExtrapolatorToLine2Order::positionInDouble
PositionTypeDouble positionInDouble(double s) const
Position at pathlength s from the starting point in double precision.
Definition:
HelixExtrapolatorToLine2Order.cc:215
GCC11_FINAL
#define GCC11_FINAL
HelixExtrapolatorToLine2Order::direction
virtual DirectionType direction(double s) const
Direction at pathlength s from the starting point.
Definition:
HelixExtrapolatorToLine2Order.cc:226
Line
Definition:
Line.h:10
HelixLineExtrapolation::PositionTypeDouble
Basic3DVector< double > PositionTypeDouble
Definition:
HelixLineExtrapolation.h:26
rho
Definition:
DDAxes.h:10
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
HelixLineExtrapolation::DirectionTypeDouble
Basic3DVector< double > DirectionTypeDouble
Definition:
HelixLineExtrapolation.h:27
HelixLineExtrapolation::DirectionType
Basic3DVector< float > DirectionType
Definition:
HelixLineExtrapolation.h:25
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:15
PixelRecoUtilities::curvature
T curvature(T InversePt, const edm::EventSetup &iSetup)
Definition:
PixelRecoUtilities.h:41
HelixLineExtrapolation::PositionType
Basic3DVector< float > PositionType
Definition:
HelixLineExtrapolation.h:24
HelixLineExtrapolation.h
Basic3DVector< float >
HelixExtrapolatorToLine2Order::~HelixExtrapolatorToLine2Order
virtual ~HelixExtrapolatorToLine2Order()
Definition:
HelixExtrapolatorToLine2Order.h:32
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::position
virtual PositionType position(double s) const
Position at pathlength s from the starting point.
Definition:
HelixExtrapolatorToLine2Order.cc:205
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
alignCSCRings.s
list s
Definition:
alignCSCRings.py:91
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
Definition:
Point3DBase.h:11
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
HelixExtrapolatorToLine2Order::pathLength
virtual std::pair< bool, double > pathLength(const GlobalPoint &point) const
Definition:
HelixExtrapolatorToLine2Order.cc:32
Generated for CMSSW Reference Manual by
1.8.5