CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_4/src/TrackingTools/AnalyticalJacobians/interface/JacobianLocalToCurvilinear.h

Go to the documentation of this file.
00001 #ifndef JacobianLocalToCurvilinear_H
00002 #define JacobianLocalToCurvilinear_H
00003 
00004 #include "DataFormats/Math/interface/AlgebraicROOTObjects.h"
00005 #include "DataFormats/GeometrySurface/interface/Surface.h"
00006 
00007 #include "TrackingTools/TrajectoryParametrization/interface/LocalTrajectoryParameters.h"
00008 #include "TrackingTools/TrajectoryParametrization/interface/GlobalTrajectoryParameters.h"
00009 
00010 #include "FWCore/Utilities/interface/Visibility.h"
00011 
00012 // class Surface;
00013 class MagneticField;
00014 
00015 
00022 class JacobianLocalToCurvilinear {
00023 
00024  public:
00025 
00030   JacobianLocalToCurvilinear(const Surface& surface, 
00031                              const LocalTrajectoryParameters& localParameters,
00032                              const MagneticField& magField);
00033 
00037   JacobianLocalToCurvilinear(const Surface& surface, 
00038                              const LocalTrajectoryParameters& localParameters,
00039                              const GlobalTrajectoryParameters& globalParameters,
00040                              const MagneticField& magField);
00041   
00045   const AlgebraicMatrix55& jacobian() const {return theJacobian;} 
00046 
00047 
00048  private:
00049   void compute(Surface::RotationType const & rot, LocalVector const & tnl,  GlobalVector  const & tn, GlobalVector const & hq)  dso_internal;
00050 
00051   AlgebraicMatrix55 theJacobian;
00052 
00053 };  
00054 
00055 #endif //JacobianLocalToCurvilinear_H