Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:31:26

0001 #ifndef JacobianLocalToCartesian_H
0002 #define JacobianLocalToCartesian_H
0003 
0004 #include "DataFormats/Math/interface/AlgebraicROOTObjects.h"
0005 
0006 class Surface;
0007 class LocalTrajectoryParameters;
0008 
0009 /** Class which calculates the Jacobian matrix of the transformation
0010  *  from the local to the Caresian frame. The Jacobian is calculated
0011  *  during construction and thereafter cached, enabling reuse of the same
0012  *  Jacobian without calculating it again.
0013  */
0014 
0015 class JacobianLocalToCartesian {
0016 public:
0017   /** Constructor from local trajectory parameters and surface defining the local frame. 
0018    *  NB!! No default constructor exists!
0019    */
0020 
0021   JacobianLocalToCartesian(const Surface& surface, const LocalTrajectoryParameters& localParameters);
0022 
0023   /** Access to Jacobian.
0024    */
0025 
0026   const AlgebraicMatrix65& jacobian() const { return theJacobian; }
0027 
0028 private:
0029   AlgebraicMatrix65 theJacobian;
0030 };
0031 
0032 #endif  //JacobianLocalToCartesian_H