Jacobian in cartesian coordinates for the transformation of momentum in Cartesian coordinates \( (px,py,pz,charge)\) to momentum in polar cordinates \((\phi,\theta,QoverP)\).
More...
#include <JacobianPxyzToPhiThetaQoverPcartesian.h>
Jacobian in cartesian coordinates for the transformation of momentum in Cartesian coordinates \( (px,py,pz,charge)\) to momentum in polar cordinates \((\phi,\theta,QoverP)\).
The derivatives are:
- \( r = \sqrt{px\mathrm{^2}+py\mathrm{^2}+pz\mathrm{^2}} \)
- \( \frac{\partial \phi}{\partial px} = -\frac{py}{px\mathrm{^2}+py\mathrm{^2}} \)
- \( \frac{\partial \theta}{\partial px} = \frac{px\cdot pz}{r\mathrm{^2}\cdot \sqrt{px\mathrm{^2}+py\mathrm{^2}}} \)
- \( \frac{\partial qOverP}{\partial px} = -\frac{charge \cdot px}{r\mathrm{^3}} \)
- \( \frac{\partial \phi}{\partial py} = -\frac{px}{px\mathrm{^2}+py\mathrm{^2}} \)
- \( \frac{\partial \theta}{\partial py} = \frac{py\cdot pz}{r\mathrm{^2}\cdot \sqrt{px\mathrm{^2}+py\mathrm{^2}}}\)
- \( \frac{\partial QoverP}{\partial py} = -\frac{charge \cdot py}{r\mathrm{^3}} \)
- \( \frac{\partial \phi}{\partial pz} = 0 \)
- \( \frac{\partial \theta}{\partial pz} = \frac{px\mathrm{^2}+py\mathrm{^2}}{r\mathrm{^2} \cdot \sqrt{px\mathrm{^2}+py\mathrm{^2}}} \)
- \( \frac{\partial pz}{\partial qOverP} = \frac{charge \cdot pz}{r\mathrm{^3}} \)
- Author
- Tatja.nosp@m.na.L.nosp@m.enz@c.nosp@m.ern..nosp@m.ch
Definition at line 39 of file JacobianPxyzToPhiThetaQoverPcartesian.h.
◆ JacobianPxyzToPhiThetaQoverPcartesian()
| Trk::JacobianPxyzToPhiThetaQoverPcartesian::JacobianPxyzToPhiThetaQoverPcartesian |
( |
const double | px, |
|
|
const double | py, |
|
|
const double | pz, |
|
|
double | charge ) |
Definition at line 12 of file JacobianPxyzToPhiThetaQoverPcartesian.cxx.
12 :
14{
15
16 this->setZero();
17
18 double r = std::pow(
px,2) + std::pow(
py,2) + std::pow(
pz,2);
19 double l = std::pow(
px,2) + std::pow(
py,2);
22 (*this)(0,2) = 0.;
23 (*this)(1,0) =
px*
pz/(
r*std::sqrt(l));
24 (*this)(1,1) =
py*
pz/(
r*std::sqrt(l));
25 (*this)(1,2) = -std::sqrt(l)/
r;
26 (*this)(2,0) = -
charge*
px/std::pow(std::sqrt(
r),3);
27 (*this)(2,1) = -
charge*
py/std::pow(std::sqrt(
r),3);
28 (*this)(2,2) = -
charge*
pz/std::pow(std::sqrt(
r),3);
29
30}
double charge(const T &p)
#define AmgMatrix(rows, cols)
l
Printing final latex table to .tex output file.
@ pz
global momentum (cartesian)
◆ ~JacobianPxyzToPhiThetaQoverPcartesian()
| Trk::JacobianPxyzToPhiThetaQoverPcartesian::~JacobianPxyzToPhiThetaQoverPcartesian |
( |
| ) |
|
|
inline |
The documentation for this class was generated from the following files: