ATLAS Offline Software
JacobianPxyzToPhiThetaQoverPspherical.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // JacobianPxyzToPhiThetaQoverPspherical.cxx, (c) ATLAS Detector software
8 
10 #include <cmath>
11 
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 }
33 
Trk::JacobianPxyzToPhiThetaQoverPspherical::JacobianPxyzToPhiThetaQoverPspherical
JacobianPxyzToPhiThetaQoverPspherical(const double phi, const double theta, const double qOverP)
Definition: JacobianPxyzToPhiThetaQoverPspherical.cxx:12
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:67
theta
Scalar theta() const
theta method
Definition: AmgMatrixBasePlugin.h:75
drawFromPickle.cos
cos
Definition: drawFromPickle.py:36
InDetAccessor::qOverP
@ qOverP
perigee
Definition: InDetAccessor.h:35
AmgMatrix
#define AmgMatrix(rows, cols)
Definition: EventPrimitives.h:49
Trk::theta
@ theta
Definition: ParamDefs.h:66
JacobianPxyzToPhiThetaQoverPspherical.h
Trk::qOverP
@ qOverP
perigee
Definition: ParamDefs.h:67
Trk::phi
@ phi
Definition: ParamDefs.h:75
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36
pow
constexpr int pow(int base, int exp) noexcept
Definition: ap_fixedTest.cxx:15