CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/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/CLHEP/interface/AlgebraicObjects.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 
00016 class PerigeeConversions
00017 {
00018   typedef FreeTrajectoryState           FTS;
00019 
00020 public:
00021 
00027   PerigeeTrajectoryParameters ftsToPerigeeParameters(const FTS& originalFTS,
00028     const GlobalPoint& referencePoint, double& pt) const;
00029 
00030   PerigeeTrajectoryError ftsToPerigeeError(const FTS& originalFTS) const;
00031 
00032 //   PerigeeTrajectoryParameters helixToPerigeeParameters
00033 //     (const reco::helix::Parameters & helixPar, const GlobalPoint& referencePoint) const;
00034 // 
00035 //   PerigeeTrajectoryError helixToPerigeeError(const reco::helix::Parameters & helixPar, 
00036 //      const reco::helix::Covariance & helixCov) const;
00037 
00038 
00039 
00045   GlobalPoint positionFromPerigee(const PerigeeTrajectoryParameters& parameters,
00046     const GlobalPoint& referencePoint) const;
00047 
00054   GlobalVector momentumFromPerigee(const AlgebraicVector& momentum, 
00055     const TrackCharge& charge, const GlobalPoint& referencePoint,
00056     const MagneticField* field)  const;
00057 
00058   GlobalVector momentumFromPerigee(const AlgebraicVector3& momentum, 
00059     const TrackCharge& charge, const GlobalPoint& referencePoint,
00060     const MagneticField* field)  const;
00061 
00066   GlobalVector momentumFromPerigee (const PerigeeTrajectoryParameters& parameters,
00067                                     double pt,
00068                                     const GlobalPoint& referencePoint) const;
00069 
00074   TrackCharge chargeFromPerigee(const PerigeeTrajectoryParameters& perigee) const;
00075 
00076   CurvilinearTrajectoryError curvilinearError(const PerigeeTrajectoryError& perigeeError,
00077     const GlobalTrajectoryParameters& gtp) const;
00078 
00079 
00088   TrajectoryStateClosestToPoint trajectoryStateClosestToPoint
00089         (const AlgebraicVector& momentum, const GlobalPoint& referencePoint,
00090          const TrackCharge& charge, const AlgebraicMatrix& theCovarianceMatrix,
00091          const MagneticField* field) const;
00092 
00093   TrajectoryStateClosestToPoint trajectoryStateClosestToPoint
00094         (const AlgebraicVector3& momentum, const GlobalPoint& referencePoint,
00095          const TrackCharge& charge, const AlgebraicSymMatrix66& theCovarianceMatrix,
00096          const MagneticField* field) const;
00097 
00098 
00104   AlgebraicMatrix  jacobianParameters2Cartesian_old
00105         (const AlgebraicVector& momentum, const GlobalPoint& position,
00106          const TrackCharge& charge, const MagneticField* field) const;
00107  
00113   AlgebraicMatrix66  jacobianParameters2Cartesian
00114         (const AlgebraicVector3& momentum, const GlobalPoint& position,
00115          const TrackCharge& charge, const MagneticField* field) const;
00116 
00117 
00118 
00119 
00126   AlgebraicMatrix jacobianCurvilinear2Perigee_old(const FreeTrajectoryState& fts) const;
00127 
00128   AlgebraicMatrix jacobianPerigee2Curvilinear_old(const GlobalTrajectoryParameters& gtp) const;
00129 
00130   AlgebraicMatrix55 jacobianCurvilinear2Perigee(const FreeTrajectoryState& fts) const;
00131 
00132   AlgebraicMatrix55 jacobianPerigee2Curvilinear(const GlobalTrajectoryParameters& gtp) const;
00133 
00134 
00135 //   AlgebraicMatrix jacobianHelix2Perigee(const reco::helix::Parameters & helixPar, 
00136 //      const reco::helix::Covariance & helixCov) const;
00137 
00138 
00139 };
00140 #endif