CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/src/TrackingTools/TrajectoryState/interface/PerigeeConversions.h

Go to the documentation of this file.
00001 #ifndef PerigeeConversions_H
00002 #define PerigeeConversions_H
00003 
00004 #include "DataFormats/Math/interface/AlgebraicROOTObjects.h"
00005 #include "TrackingTools/TrajectoryState/interface/FreeTrajectoryState.h"
00006 #include "TrackingTools/TrajectoryParametrization/interface/PerigeeTrajectoryParameters.h"
00007 #include "TrackingTools/TrajectoryParametrization/interface/PerigeeTrajectoryError.h"
00008 
00009 class TrajectoryStateClosestToPoint;
00010 
00015 namespace PerigeeConversions {
00016   typedef FreeTrajectoryState           FTS;
00021   PerigeeTrajectoryParameters ftsToPerigeeParameters(const FTS& originalFTS,
00022     const GlobalPoint& referencePoint, double& pt);
00023 
00024   PerigeeTrajectoryError ftsToPerigeeError(const FTS& originalFTS);
00025 
00026 
00031   GlobalPoint positionFromPerigee(const PerigeeTrajectoryParameters& parameters,
00032     const GlobalPoint& referencePoint);
00033 
00039    GlobalVector momentumFromPerigee(const AlgebraicVector3& momentum, 
00040     const TrackCharge& charge, const GlobalPoint& referencePoint,
00041     const MagneticField* field);
00042 
00046   GlobalVector momentumFromPerigee (const PerigeeTrajectoryParameters& parameters,
00047                                     double pt,
00048                                     const GlobalPoint& referencePoint);
00049 
00050 
00051   CurvilinearTrajectoryError curvilinearError(const PerigeeTrajectoryError& perigeeError,
00052     const GlobalTrajectoryParameters& gtp);
00053 
00054 
00063   TrajectoryStateClosestToPoint trajectoryStateClosestToPoint
00064         (const AlgebraicVector3& momentum, const GlobalPoint& referencePoint,
00065          const TrackCharge& charge, const AlgebraicSymMatrix66& theCovarianceMatrix,
00066          const MagneticField* field);
00067 
00068 
00073   AlgebraicMatrix66  jacobianParameters2Cartesian
00074         (const AlgebraicVector3& momentum, const GlobalPoint& position,
00075          const TrackCharge& charge, const MagneticField* field);
00076 
00077 
00083   AlgebraicMatrix55 jacobianCurvilinear2Perigee(const FreeTrajectoryState& fts);
00084 
00085   AlgebraicMatrix55 jacobianPerigee2Curvilinear(const GlobalTrajectoryParameters& gtp);
00086 
00087 
00088 }
00089 
00090 #endif