1 #ifndef CurvilinearState_H
2 #define CurvilinearState_H
35 pzSign_(p.
z() > 0. ? 1. : -1.) {}
40 Scalar p = 1. / fabs(par_.second().z());
45 Scalar dz = pzSign_ /
sqrt(1. + dxdz * dxdz + dydz * dydz);
48 return Vector3D(dx * p, dy * p, dz * p);
57 double pzSign()
const {
return pzSign_; }
VectorDoublet< Vector2D, Vector3D > Vector
Basic2DVector< Scalar > Vector2D
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
MatrixMeschach operator+(const MatrixMeschach &mat1, const MatrixMeschach &mat2)
MatrixMeschach operator-(const MatrixMeschach &mat1, const MatrixMeschach &mat2)
CurvilinearState(const Vector &v, Scalar z, Scalar pzsign)
Basic3DVector< Scalar > Vector3D
const Vector3D momentum() const
T1 operator/(const Phi< T1, Range > &a, const Phi< T1, Range > &b)
Division.
const Vector & parameters() const
const Vector3D position() const
MatrixMeschach operator*(const MatrixMeschach &mat1, const MatrixMeschach &mat2)
CurvilinearState(const Vector3D &pos, const Vector3D &p, Scalar ch)
Scalar pzSign_
sign of local pz