Jacobian in spherical coordinates for the transformation of momentum in Cartesian coordinates \( (px,py,pz,charge)\) to momentum in spherical cordinates \((\phi,\theta,QoverP)\).
More...
#include <JacobianPxyzToPhiThetaQoverPspherical.h>
Jacobian in spherical coordinates for the transformation of momentum in Cartesian coordinates \( (px,py,pz,charge)\) to momentum in spherical cordinates \((\phi,\theta,QoverP)\).
The derivatives are:
- \( \frac{\partial \phi}{\partial px} = -\frac{fabs(qOverP) \cdot sin\phi}{sin\theta} \)
- \( \frac{\partial \theta}{\partial px} = fabs(qOverP)\cdot cos\phi \cdot cos \theta \)
- \( \frac{\partial qOverP}{\partial px} = -frac{fabs(qOverP)\mathrm{^3} \cdot cos\phi \cdot sin\theta}{qOverP} \)
- \( \frac{\partial \phi}{\partial py} = \frac{fabs(qOverP) \cdot cos\phi}{sin\theta} \)
- \( \frac{\partial \theta}{\partial py} = fabs(qOverP)\cdot sin\phi \cdot cos\theta \)
- \( \frac{\partial QoverP}{\partial py} = -frac{fabs(qOverP)\mathrm{^3} \cdot sin\phi \cdot sin\theta}{qOverP} \)
- \( \frac{\partial \phi}{\partial pz} = 0 \)
- \( \frac{\partial \theta}{\partial pz} = fabs(qOverP)\cdot sin\theta \)
- \( \frac{\partial pz}{\partial qOverP} = -frac{fabs(qOverP)\mathrm{^3} \cdot cos\theta}{qOverP} \)
- Author
- Tatja.nosp@m.na.L.nosp@m.enz@c.nosp@m.ern..nosp@m.ch
Definition at line 38 of file JacobianPxyzToPhiThetaQoverPspherical.h.
◆ JacobianPxyzToPhiThetaQoverPspherical()
| Trk::JacobianPxyzToPhiThetaQoverPspherical::JacobianPxyzToPhiThetaQoverPspherical |
( |
const double | phi, |
|
|
const double | theta, |
|
|
const double | qOverP ) |
Definition at line 12 of file JacobianPxyzToPhiThetaQoverPspherical.cxx.
12 :
14{
15
16 this->setZero();
17
18 double sinPhi = std::sin(
phi);
19 double cosPhi = std::cos(
phi);
20 double sinTheta = std::sin(
theta);
21 double cosTheta = std::cos(
theta);
22 (*this)(0,0) = -std::fabs(
qOverP)*sinPhi/sinTheta;
23 (*this)(0,1) = std::fabs(
qOverP)*cosPhi/sinTheta;
24 (*this)(0,2) = 0.;
25 (*this)(1,0) = std::fabs(
qOverP)*cosPhi*cosTheta;
26 (*this)(1,1) = std::fabs(
qOverP)*sinPhi*cosTheta;
27 (*this)(1,2) = -std::fabs(
qOverP)*sinTheta;
28 (*this)(2,0) = -std::pow(std::fabs(
qOverP),3)*cosPhi*sinTheta/
qOverP;
29 (*this)(2,1) = -std::pow(std::fabs(
qOverP),3)*sinPhi*sinTheta/
qOverP;
30 (*this)(2,2) = -std::pow(std::fabs(
qOverP),3)*cosTheta/
qOverP;
31
32}
#define AmgMatrix(rows, cols)
◆ ~JacobianPxyzToPhiThetaQoverPspherical()
| Trk::JacobianPxyzToPhiThetaQoverPspherical::~JacobianPxyzToPhiThetaQoverPspherical |
( |
| ) |
|
|
inline |
The documentation for this class was generated from the following files: