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
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
00033
00034
00035
00036
00037
00038
00039
00045 GlobalPoint positionFromPerigee(const PerigeeTrajectoryParameters& parameters,
00046 const GlobalPoint& referencePoint) const;
00047
00054 GlobalVector momentumFromPerigee(const AlgebraicVector3& momentum,
00055 const TrackCharge& charge, const GlobalPoint& referencePoint,
00056 const MagneticField* field) const;
00057
00062 GlobalVector momentumFromPerigee (const PerigeeTrajectoryParameters& parameters,
00063 double pt,
00064 const GlobalPoint& referencePoint) const;
00065
00070 TrackCharge chargeFromPerigee(const PerigeeTrajectoryParameters& perigee) const;
00071
00072 CurvilinearTrajectoryError curvilinearError(const PerigeeTrajectoryError& perigeeError,
00073 const GlobalTrajectoryParameters& gtp) const;
00074
00075
00084 TrajectoryStateClosestToPoint trajectoryStateClosestToPoint
00085 (const AlgebraicVector3& momentum, const GlobalPoint& referencePoint,
00086 const TrackCharge& charge, const AlgebraicSymMatrix66& theCovarianceMatrix,
00087 const MagneticField* field) const;
00088
00089
00095 AlgebraicMatrix66 jacobianParameters2Cartesian
00096 (const AlgebraicVector3& momentum, const GlobalPoint& position,
00097 const TrackCharge& charge, const MagneticField* field) const;
00098
00099
00100
00101
00108 AlgebraicMatrix55 jacobianCurvilinear2Perigee(const FreeTrajectoryState& fts) const;
00109
00110 AlgebraicMatrix55 jacobianPerigee2Curvilinear(const GlobalTrajectoryParameters& gtp) const;
00111
00112
00113
00114
00115
00116
00117 };
00118 #endif