TrackPropagation
RungeKutta
src
PathToPlane2Order.h
Go to the documentation of this file.
1
#ifndef PathToPlane2Order_H
2
#define PathToPlane2Order_H
3
4
#include "
FWCore/Utilities/interface/Visibility.h
"
5
#include "
DataFormats/GeometryVector/interface/Basic3DVector.h
"
6
#include "
TrackingTools/GeomPropagators/interface/HelixPlaneCrossing.h
"
7
#include "
CartesianState.h
"
8
#include "
DataFormats/TrajectorySeed/interface/PropagationDirection.h
"
9
#include "
DataFormats/GeometrySurface/interface/Plane.h
"
10
#include "
DataFormats/GeometryVector/interface/GlobalPoint.h
"
11
#include "
DataFormats/GeometryVector/interface/GlobalVector.h
"
12
19
class
RKLocalFieldProvider
;
20
21
class
dso_internal
PathToPlane2Order
{
22
public
:
23
typedef
Plane::Scalar
Scalar
;
24
typedef
Basic3DVector<Scalar>
Vector3D
;
25
typedef
GloballyPositioned<Scalar>
Frame
;
26
27
PathToPlane2Order
(
const
RKLocalFieldProvider
& fld,
const
Frame
* fieldFrame)
28
: theField(fld), theFieldFrame(fieldFrame) {}
29
32
std::pair<bool, double> operator()(
const
Plane
& plane,
33
const
Vector3D&
position
,
34
const
Vector3D& momentum,
35
double
charge
,
36
const
PropagationDirection
propDir =
alongMomentum
);
37
38
std::pair<bool, double>
operator()
(
const
Plane
& plane,
39
const
GlobalPoint
&
position
,
40
const
GlobalVector
& momentum,
41
double
charge
,
42
const
PropagationDirection
propDir =
alongMomentum
) {
43
return
operator()(plane,
44
theFieldFrame->
toLocal
(
position
).
basicVector
(),
45
theFieldFrame->toLocal(momentum).basicVector(),
46
charge
,
47
propDir);
48
}
49
50
private
:
51
const
RKLocalFieldProvider
&
theField
;
52
const
Frame
*
theFieldFrame
;
53
};
54
55
#endif
Vector3DBase
Definition:
Vector3DBase.h:8
GloballyPositioned
Definition:
GloballyPositioned.h:18
Visibility.h
PathToPlane2Order::Frame
GloballyPositioned< Scalar > Frame
Definition:
PathToPlane2Order.h:25
CartesianState.h
Basic3DVector.h
RKLocalFieldProvider
Definition:
RKLocalFieldProvider.h:10
Plane.h
PathToPlane2Order::operator()
std::pair< bool, double > operator()(const Plane &plane, const GlobalPoint &position, const GlobalVector &momentum, double charge, const PropagationDirection propDir=alongMomentum)
Definition:
PathToPlane2Order.h:38
Point3DBase< float, GlobalTag >
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition:
ALCARECOTkAlJpsiMuMu_cff.py:47
dso_internal
#define dso_internal
Definition:
Visibility.h:13
PathToPlane2Order::PathToPlane2Order
PathToPlane2Order(const RKLocalFieldProvider &fld, const Frame *fieldFrame)
Definition:
PathToPlane2Order.h:27
position
static int position[264][3]
Definition:
ReadPGInfo.cc:289
PropagationDirection.h
PV3DBase::basicVector
const BasicVectorType & basicVector() const
Definition:
PV3DBase.h:53
PathToPlane2Order::Scalar
Plane::Scalar Scalar
Definition:
PathToPlane2Order.h:23
GloballyPositioned::toLocal
LocalPoint toLocal(const GlobalPoint &gp) const
Definition:
GloballyPositioned.h:98
PropagationDirection
PropagationDirection
Definition:
PropagationDirection.h:4
PathToPlane2Order::theField
const RKLocalFieldProvider & theField
Definition:
PathToPlane2Order.h:51
Plane
Definition:
Plane.h:16
PathToPlane2Order
Definition:
PathToPlane2Order.h:21
GlobalVector.h
PathToPlane2Order::theFieldFrame
const Frame * theFieldFrame
Definition:
PathToPlane2Order.h:52
PathToPlane2Order::Vector3D
Basic3DVector< Scalar > Vector3D
Definition:
PathToPlane2Order.h:24
GlobalPoint.h
alongMomentum
Definition:
PropagationDirection.h:4
Basic3DVector< Scalar >
HelixPlaneCrossing.h
GloballyPositioned< float >::Scalar
float Scalar
Definition:
GloballyPositioned.h:20
Generated for CMSSW Reference Manual by
1.8.16