ATLAS Offline Software
Loading...
Searching...
No Matches
Trk::JacobianPxyzToPhiThetaQoverPcartesian Class Reference

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>

Inheritance diagram for Trk::JacobianPxyzToPhiThetaQoverPcartesian:
Collaboration diagram for Trk::JacobianPxyzToPhiThetaQoverPcartesian:

Public Member Functions

 JacobianPxyzToPhiThetaQoverPcartesian (const double px, const double py, const double pz, double charge)
 ~JacobianPxyzToPhiThetaQoverPcartesian ()

Detailed Description

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.

Constructor & Destructor Documentation

◆ JacobianPxyzToPhiThetaQoverPcartesian()

Trk::JacobianPxyzToPhiThetaQoverPcartesian::JacobianPxyzToPhiThetaQoverPcartesian ( const double px,
const double py,
const double pz,
double charge )

Definition at line 12 of file JacobianPxyzToPhiThetaQoverPcartesian.cxx.

12 :
13 AmgMatrix(3,3)()
14{
15 // initialize to zero
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);
20 (*this)(0,0) = -py/l;
21 (*this)(0,1) = px/l;
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)
Definition AtlasPID.h:997
#define AmgMatrix(rows, cols)
int r
Definition globals.cxx:22
l
Printing final latex table to .tex output file.
@ pz
global momentum (cartesian)
Definition ParamDefs.h:61
@ px
Definition ParamDefs.h:59
@ py
Definition ParamDefs.h:60

◆ ~JacobianPxyzToPhiThetaQoverPcartesian()

Trk::JacobianPxyzToPhiThetaQoverPcartesian::~JacobianPxyzToPhiThetaQoverPcartesian ( )
inline

Definition at line 42 of file JacobianPxyzToPhiThetaQoverPcartesian.h.

42{}

The documentation for this class was generated from the following files: