![]() |
![]() |
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_