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

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>

Inheritance diagram for Trk::JacobianPxyzToPhiThetaQoverPspherical:
Collaboration diagram for Trk::JacobianPxyzToPhiThetaQoverPspherical:

Public Member Functions

 JacobianPxyzToPhiThetaQoverPspherical (const double phi, const double theta, const double qOverP)
 ~JacobianPxyzToPhiThetaQoverPspherical ()

Detailed Description

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.

Constructor & Destructor Documentation

◆ JacobianPxyzToPhiThetaQoverPspherical()

Trk::JacobianPxyzToPhiThetaQoverPspherical::JacobianPxyzToPhiThetaQoverPspherical ( const double phi,
const double theta,
const double qOverP )

Definition at line 12 of file JacobianPxyzToPhiThetaQoverPspherical.cxx.

12 :
13 AmgMatrix(3,3)()
14{
15 // initialize to zer
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)
@ theta
Definition ParamDefs.h:66
@ qOverP
perigee
Definition ParamDefs.h:67
@ phi
Definition ParamDefs.h:75

◆ ~JacobianPxyzToPhiThetaQoverPspherical()

Trk::JacobianPxyzToPhiThetaQoverPspherical::~JacobianPxyzToPhiThetaQoverPspherical ( )
inline

Definition at line 41 of file JacobianPxyzToPhiThetaQoverPspherical.h.

41{}

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