File indexing completed on 2023-10-25 10:05:46
0001 #ifndef PerigeeConversions_H
0002 #define PerigeeConversions_H
0003
0004 #include "DataFormats/Math/interface/AlgebraicROOTObjects.h"
0005 #include "TrackingTools/TrajectoryState/interface/FreeTrajectoryState.h"
0006 #include "TrackingTools/TrajectoryParametrization/interface/PerigeeTrajectoryParameters.h"
0007 #include "TrackingTools/TrajectoryParametrization/interface/PerigeeTrajectoryError.h"
0008
0009 class TrajectoryStateClosestToPoint;
0010
0011
0012
0013
0014
0015 namespace PerigeeConversions {
0016 typedef FreeTrajectoryState FTS;
0017
0018
0019
0020
0021 PerigeeTrajectoryParameters ftsToPerigeeParameters(const FTS& originalFTS,
0022 const GlobalPoint& referencePoint,
0023 double& pt);
0024
0025 PerigeeTrajectoryError ftsToPerigeeError(const FTS& originalFTS);
0026
0027
0028
0029
0030
0031 GlobalPoint positionFromPerigee(const PerigeeTrajectoryParameters& parameters, const GlobalPoint& referencePoint);
0032
0033
0034
0035
0036
0037
0038 GlobalVector momentumFromPerigee(const AlgebraicVector3& momentum,
0039 const TrackCharge& charge,
0040 const GlobalPoint& referencePoint,
0041 const MagneticField* field);
0042
0043
0044
0045
0046 GlobalVector momentumFromPerigee(const PerigeeTrajectoryParameters& parameters,
0047 double pt,
0048 const GlobalPoint& referencePoint);
0049
0050 CurvilinearTrajectoryError curvilinearError(const PerigeeTrajectoryError& perigeeError,
0051 const GlobalTrajectoryParameters& gtp);
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061 TrajectoryStateClosestToPoint trajectoryStateClosestToPoint(const AlgebraicVector3& momentum,
0062 const GlobalPoint& referencePoint,
0063 const TrackCharge& charge,
0064 const AlgebraicSymMatrix66& theCovarianceMatrix,
0065 const MagneticField* field);
0066
0067
0068
0069
0070
0071 AlgebraicMatrix66 jacobianParameters2Cartesian(const AlgebraicVector3& momentum,
0072 const GlobalPoint& position,
0073 const TrackCharge& charge,
0074 const MagneticField* field);
0075
0076
0077
0078
0079
0080
0081 AlgebraicMatrix55 jacobianCurvilinear2Perigee(const FreeTrajectoryState& fts);
0082
0083 AlgebraicMatrix55 jacobianPerigee2Curvilinear(const GlobalTrajectoryParameters& gtp);
0084
0085 }
0086
0087 #endif