CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CartesianStateAdaptor.h
Go to the documentation of this file.
1 #ifndef CartesianStateAdaptor_H
2 #define CartesianStateAdaptor_H
3 
5 public:
6 
7  typedef double Scalar;
9 
11  pos_(rk[0], rk[1], rk[2]), mom_(rk[3], rk[4], rk[5]) {}
12 
13  const Vector3D& position() const { return pos_;}
14  const Vector3D& momentum() const { return mom_;}
15 
17  return Vector3D(rk[0], rk[1], rk[2]);
18  }
19 
21  return Vector3D(rk[3], rk[4], rk[5]);
22  }
23 
24  static RKSmallVector<double,6> rkstate( const Vector3D& pos, const Vector3D& mom) {
26  res[0] = pos.x();
27  res[1] = pos.y();
28  res[2] = pos.z();
29  res[3] = mom.x();
30  res[4] = mom.y();
31  res[5] = mom.z();
32  return res;
33  }
34 
35 private:
36 
39 
40 };
41 
42 #endif
static Vector3D momentum(const RKSmallVector< double, 6 > &rk)
T y() const
Cartesian y coordinate.
T x() const
Cartesian x coordinate.
static Vector3D position(const RKSmallVector< double, 6 > &rk)
T z() const
Cartesian z coordinate.
static RKSmallVector< double, 6 > rkstate(const Vector3D &pos, const Vector3D &mom)
const Vector3D & momentum() const
Basic3DVector< Scalar > Vector3D
const Vector3D & position() const
CartesianStateAdaptor(const RKSmallVector< double, 6 > &rk)