Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
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
:
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
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:24
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:25
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:15
PixelRecoUtilities::curvature
T curvature(T InversePt, const edm::EventSetup &iSetup)
Definition:
PixelRecoUtilities.h:41
HelixLineExtrapolation::PositionType
Basic3DVector< float > PositionType
Definition:
HelixLineExtrapolation.h:22
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
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:172
HelixLineExtrapolation
Definition:
HelixLineExtrapolation.h:15
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
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