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:
23 
27 
28  PathToPlane2Order( const RKLocalFieldProvider& fld, const Frame* fieldFrame) :
29  theField(fld), theFieldFrame(fieldFrame) {}
30 
33  std::pair<bool,double> operator()( const Plane& plane,
34  const Vector3D& position,
35  const Vector3D& momentum,
36  double charge,
37  const PropagationDirection propDir = alongMomentum);
38 
39  std::pair<bool,double> operator()( const Plane& plane,
40  const GlobalPoint& position,
41  const GlobalVector& momentum,
42  double charge,
43  const PropagationDirection propDir = alongMomentum) {
44  return operator()( plane, theFieldFrame->toLocal(position).basicVector(),
45  theFieldFrame->toLocal(momentum).basicVector(), charge, propDir);
46  }
47 
48 private:
49 
51  const Frame* theFieldFrame;
52 };
53 
54 #endif
GloballyPositioned< Scalar > Frame
PropagationDirection
Definition: Plane.h:17
PathToPlane2Order(const RKLocalFieldProvider &fld, const Frame *fieldFrame)
std::pair< bool, double > operator()(const Plane &plane, const GlobalPoint &position, const GlobalVector &momentum, double charge, const PropagationDirection propDir=alongMomentum)
LocalPoint toLocal(const GlobalPoint &gp) const
Plane::Scalar Scalar
const RKLocalFieldProvider & theField
Basic3DVector< Scalar > Vector3D
#define dso_internal
static int position[264][3]
Definition: ReadPGInfo.cc:509
const BasicVectorType & basicVector() const
Definition: PV3DBase.h:56
const Frame * theFieldFrame