CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/TrackingTools/AnalyticalJacobians/interface/JacobianCurvilinearToLocal.h

Go to the documentation of this file.
00001 #ifndef JacobianCurvilinearToLocal_H
00002 #define JacobianCurvilinearToLocal_H
00003 
00004 #include "DataFormats/Math/interface/AlgebraicROOTObjects.h"
00005 #include "DataFormats/GeometrySurface/interface/Surface.h"
00006 #include "TrackingTools/TrajectoryParametrization/interface/LocalTrajectoryParameters.h"
00007 #include "TrackingTools/TrajectoryParametrization/interface/GlobalTrajectoryParameters.h"
00008 
00009 #include "FWCore/Utilities/interface/Visibility.h"
00010 
00011 class MagneticField;
00012 
00019 class JacobianCurvilinearToLocal {
00020 
00021  public:
00022 
00027   JacobianCurvilinearToLocal(const Surface& surface, 
00028                              const LocalTrajectoryParameters& localParameters,
00029                              const MagneticField& magField);
00030   
00031   JacobianCurvilinearToLocal(const Surface& surface, 
00032                              const LocalTrajectoryParameters& localParameters,
00033                              const GlobalTrajectoryParameters& globalParameters,
00034                              const MagneticField& magField);
00035 
00039   const AlgebraicMatrix55& jacobian() const { return  theJacobian; }
00040 
00041 
00042  private:
00043 
00044   void compute(Surface::RotationType const & rot, GlobalVector  const & tn, GlobalVector const & qh, double lz)  dso_internal;  
00045 
00046   AlgebraicMatrix55 theJacobian;
00047 
00048 };  
00049 
00050 #endif //JacobianCurvilinearToLocal_H