#include <TrackPropagation/RungeKutta/interface/CurvilinearState.h>
Public Types | |
typedef double | Scalar |
typedef VectorDoublet < Vector2D, Vector3D > | Vector |
typedef Basic2DVector< Scalar > | Vector2D |
typedef Basic3DVector< Scalar > | Vector3D |
Public Member Functions | |
Scalar | charge () const |
CurvilinearState (const Vector3D &pos, const Vector3D &p, Scalar ch) | |
CurvilinearState (const Vector &v, Scalar z, Scalar pzsign) | |
CurvilinearState () | |
const Vector3D | momentum () const |
const Vector & | parameters () const |
const Vector3D | position () const |
double | pzSign () const |
Scalar | z () const |
Private Attributes | |
Vector | par_ |
Scalar | pzSign_ |
sign of local pz | |
Scalar | z_ |
The dependent variables are x - x coordinate y - y coordinate dx/dz - derivative of x versus z dy/dz - derivative of y versus z q/p - charge over momentum magnitude
The coordinate system is externally defined
Definition at line 20 of file CurvilinearState.h.
typedef double CurvilinearState::Scalar |
Definition at line 23 of file CurvilinearState.h.
Definition at line 26 of file CurvilinearState.h.
Definition at line 24 of file CurvilinearState.h.
Definition at line 25 of file CurvilinearState.h.
CurvilinearState::CurvilinearState | ( | ) | [inline] |
Definition at line 54 of file CurvilinearState.h.
References par_, and VectorDoublet< V1, V2 >::second().
const Vector3D CurvilinearState::momentum | ( | ) | const [inline] |
Definition at line 41 of file CurvilinearState.h.
References p, par_, pzSign_, VectorDoublet< V1, V2 >::second(), and funct::sqrt().
00041 { 00042 Scalar p = 1./fabs(par_.second().z()); 00043 if ( p>1.e9 ) p = 1.e9; 00044 Scalar dxdz = par_.second().x(); 00045 Scalar dydz = par_.second().y(); 00046 Scalar dz = pzSign_/sqrt(1. + dxdz*dxdz + dydz*dydz); 00047 Scalar dx = dz*dxdz; 00048 Scalar dy = dz*dydz; 00049 return Vector3D(dx*p, dy*p, dz*p); 00050 }
Definition at line 52 of file CurvilinearState.h.
References par_.
Referenced by operator *(), operator+(), operator-(), and operator/().
00052 { return par_;}
double CurvilinearState::pzSign | ( | ) | const [inline] |
Definition at line 58 of file CurvilinearState.h.
References pzSign_.
Referenced by operator *(), operator+(), operator-(), and operator/().
00058 {return pzSign_;}
Definition at line 56 of file CurvilinearState.h.
References z_.
Referenced by operator *(), operator+(), operator-(), and operator/().
00056 {return z_;}
Vector CurvilinearState::par_ [private] |
Definition at line 62 of file CurvilinearState.h.
Referenced by charge(), momentum(), parameters(), and position().
Scalar CurvilinearState::pzSign_ [private] |
sign of local pz
Definition at line 64 of file CurvilinearState.h.
Referenced by momentum(), and pzSign().
Scalar CurvilinearState::z_ [private] |