CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/RecoVertex/KinematicFitPrimitives/interface/KinematicPerigeeConversions.h

Go to the documentation of this file.
00001 #ifndef KinematicPerigeeConversions_H
00002 #define KinematicPerigeeConversions_h
00003 
00004 #include "RecoVertex/KinematicFitPrimitives/interface/KinematicParameters.h"
00005 #include "RecoVertex/KinematicFitPrimitives/interface/KinematicState.h"
00006 #include "RecoVertex/KinematicFitPrimitives/interface/ExtendedPerigeeTrajectoryParameters.h"
00007 #include "MagneticField/Engine/interface/MagneticField.h"
00008 #include "RecoVertex/KinematicFitPrimitives/interface/Matrices.h"
00009 
00017 class KinematicPerigeeConversions
00018 {
00019 public:
00020 
00021  KinematicPerigeeConversions()
00022  {}
00023  
00024  ExtendedPerigeeTrajectoryParameters extendedPerigeeFromKinematicParameters
00025         (const KinematicState& state, const GlobalPoint& point) const;
00026                                            
00027  KinematicParameters kinematicParametersFromExPerigee
00028         (const ExtendedPerigeeTrajectoryParameters& pr, const GlobalPoint& point,
00029          const MagneticField* field) const;
00030                                                       
00031  KinematicState kinematicState(const AlgebraicVector4& momentum,
00032         const GlobalPoint& referencePoint, const TrackCharge& charge,
00033         const AlgebraicSymMatrix77& theCovarianceMatrix, const MagneticField* field) const;
00034                                  
00038  AlgebraicVector4 momentumFromPerigee(const AlgebraicVector4& momentum,
00039         const GlobalPoint& referencePoint, const TrackCharge& ch,
00040         const MagneticField* field) const;
00041                                      
00042 private:
00048   AlgebraicMatrix77 jacobianParameters2Kinematic(const AlgebraicVector4& momentum, 
00049         const GlobalPoint& referencePoint, const TrackCharge& charge,
00050         const MagneticField* field) const;
00051 };
00052 #endif