CMS 3D CMS Logo

PathToPlane2Order.h
Go to the documentation of this file.
1 #ifndef PathToPlane2Order_H
2 #define PathToPlane2Order_H
3 
7 #include "CartesianState.h"
12 
20 
22 public:
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:
52  const Frame* theFieldFrame;
53 };
54 
55 #endif
GloballyPositioned< Scalar > Frame
PropagationDirection
Definition: Plane.h:16
std::pair< bool, double > operator()(const Plane &plane, const GlobalPoint &position, const GlobalVector &momentum, double charge, const PropagationDirection propDir=alongMomentum)
PathToPlane2Order(const RKLocalFieldProvider &fld, const Frame *fieldFrame)
LocalPoint toLocal(const GlobalPoint &gp) const
#define dso_internal
Definition: Visibility.h:13
Plane::Scalar Scalar
const RKLocalFieldProvider & theField
Basic3DVector< Scalar > Vector3D
static int position[264][3]
Definition: ReadPGInfo.cc:289
const BasicVectorType & basicVector() const
Definition: PV3DBase.h:53
const Frame * theFieldFrame