CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/TrackingTools/KalmanUpdators/interface/Strip1DMeasurementTransformator.h

Go to the documentation of this file.
00001 #ifndef CD_Strip1DMeasurementTransformator_H_
00002 #define CD_Strip1DMeasurementTransformator_H_
00003 
00014 #include "DataFormats/CLHEP/interface/AlgebraicObjects.h"
00015 #include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHit.h"
00016 #include "Geometry/CommonTopologies/interface/StripTopology.h"
00017 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
00018 
00019 class Strip1DMeasurementTransformator {
00020 
00021 private:
00022 
00023   typedef TrajectoryStateOnSurface TSOS;
00024   typedef AlgebraicSymMatrix55 ASM55;
00025   typedef AlgebraicMatrix15 AM15;
00026   typedef AlgebraicVector5 AV5;
00027 
00028 public:
00029 
00030   Strip1DMeasurementTransformator(const TSOS& aTsos, const TransientTrackingRecHit& aHit);
00031   
00032   ~Strip1DMeasurementTransformator() {}
00033 
00034   double hitParameters() const;
00035   AV5 trajectoryParameters() const;
00036   double projectedTrajectoryParameters() const;
00037   double hitError() const;
00038   const ASM55 & trajectoryError() const;
00039   double projectedTrajectoryError() const;
00040   AM15 projectionMatrix() const;
00041 
00042   const TransientTrackingRecHit& hit() const {return theRecHit;}
00043   const TSOS& state() const {return theState;}
00045   const StripTopology* idealTopology() const {return theIdealTopology;}
00047   const StripTopology* topology() const {return theTopology;}
00048 
00049 private:
00050 
00051   const TransientTrackingRecHit& theRecHit;
00052   TSOS theState;
00053   const StripTopology *theTopology, *theIdealTopology;
00054 
00055   void init();
00056 };
00057 
00058 #endif //CD_Strip1DMeasurementTransformator_H_