ATLAS Offline Software
|
#include <JacobianLocalToCurvilinear.h>
Public Member Functions | |
JacobianLocalToCurvilinear (const CurvilinearUVT &curvUVT, const Amg::Vector3D &locX, const Amg::Vector3D &locY) | |
Constructor for straight line track model. More... | |
JacobianLocalToCurvilinear (const Amg::Vector3D &bfield, double qOp, double sinTheta, const CurvilinearUVT &curvUVT, const Amg::Vector3D &locX, const Amg::Vector3D &locY) | |
Constructor for helical track model. More... | |
This class represents the jacobian for transforming from a local to a curvilinear frame.
The curvilinear frame is defined as follows: Given a direction \( \vec t = \frac{\vec p }{|\vec p |} \) of a track at a specific point, the plane perpenticular to the track may be defined by two vectors \( (\vec u, \vec v) \), denoting \( \vec z \) as the global z-axis and defining: \( \vec{u} = \frac {\vec t \times \vec z}{|\vec t \times \vec z|} \) and
\( \vec v = \vec t \times \vec{u} \),
the unit vectors \( (\vec{curv_{i}}) = (\vec u, \vec v, \vec t) \) define at any point of the track a right-handed orthogonal coordinate system.
The local frame on a surface may be represented through two local vectors \( \vec{locX} \) and \( \vec{locY} \) within the plane and one perpenticular vector \( \vec{locZ} \) pointing along the surface's normal.
Detailed Description The non-zero elements of the jacobian for the transformation between the local representations of the track parameters \( (locX, locY, \phi, \theta, q/p) \) and the curvilinear representation \( (u, v, \phi', \theta', q/p') \) can then be expressed as:
For the straight line case:
\( \frac{\partial u}{\partial locX} = \vec{u} \cdot \vec{locX} \)
\( \frac{\partial u}{\partial locY} = \vec{u} \cdot \vec{locY} \)
\( \frac{\partial v}{\partial locX} = \vec v \cdot \vec{locX} \)
\( \frac{\partial v}{\partial locY} = \vec v \cdot \vec{locY} \)
\( \frac{\partial \phi'}{\partial \phi} = 1 \)
\( \frac{\partial \theta'}{\partial \theta} = 1 \)
\( \frac{\partial (q/p)'}{\partial (q/p)} = 1 \)
And additionally for the helical case :
\( \frac{\partial \phi'}{\partial x} = \frac{1}{sin\theta'}\cdot(\alpha\cdot Q \cdot(\vec n \cdot u)\codt(\vec t\cdot \vec{locX) \)
\( \frac{\partial \phi'}{\partial y} = \frac{1}{sin\theta'}\cdot(\alpha\cdot Q \cdot(\vec n \cdot u)\codt(\vec t\cdot \vec{locY) \)
\( \frac{\partial \theta'}{\partial x} = - \cdot(\alpha\cdot Q \cdot(\vec n \cdot v)\codt(\vec t\cdot \vec{locX) \)
\( \frac{\partial \theta'}{\partial y} = - \cdot(\alpha\cdot Q \cdot(\vec n \cdot v)\codt(\vec t\cdot \vec{locY) \)
Definition at line 66 of file JacobianLocalToCurvilinear.h.
Trk::JacobianLocalToCurvilinear::JacobianLocalToCurvilinear | ( | const CurvilinearUVT & | curvUVT, |
const Amg::Vector3D & | locX, | ||
const Amg::Vector3D & | locY | ||
) |
Constructor for straight line track model.
Definition at line 20 of file JacobianLocalToCurvilinear.cxx.
Trk::JacobianLocalToCurvilinear::JacobianLocalToCurvilinear | ( | const Amg::Vector3D & | bfield, |
double | qOp, | ||
double | sinTheta, | ||
const CurvilinearUVT & | curvUVT, | ||
const Amg::Vector3D & | locX, | ||
const Amg::Vector3D & | locY | ||
) |
Constructor for helical track model.
Definition at line 35 of file JacobianLocalToCurvilinear.cxx.