File indexing completed on 2024-04-06 12:31:32
0001 #ifndef CD_Strip1DMeasurementTransformator_H_
0002 #define CD_Strip1DMeasurementTransformator_H_
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #include "DataFormats/CLHEP/interface/AlgebraicObjects.h"
0013 #include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHit.h"
0014 #include "Geometry/CommonTopologies/interface/StripTopology.h"
0015 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
0016
0017 class Strip1DMeasurementTransformator {
0018 private:
0019 typedef TrajectoryStateOnSurface TSOS;
0020 typedef AlgebraicSymMatrix55 ASM55;
0021 typedef AlgebraicMatrix15 AM15;
0022 typedef AlgebraicVector5 AV5;
0023
0024 public:
0025 Strip1DMeasurementTransformator(const TSOS& aTsos, const TrackingRecHit& aHit);
0026
0027 ~Strip1DMeasurementTransformator() {}
0028
0029 double hitParameters() const;
0030 AV5 trajectoryParameters() const;
0031 double projectedTrajectoryParameters() const;
0032 double hitError() const;
0033 const ASM55& trajectoryError() const;
0034 double projectedTrajectoryError() const;
0035 AM15 projectionMatrix() const;
0036
0037 const TrackingRecHit& hit() const { return theRecHit; }
0038 const TSOS& state() const { return theState; }
0039
0040 const StripTopology* idealTopology() const { return theIdealTopology; }
0041
0042 const StripTopology* topology() const { return theTopology; }
0043
0044 private:
0045 const TrackingRecHit& theRecHit;
0046 TSOS theState;
0047 const StripTopology *theTopology, *theIdealTopology;
0048
0049 void init();
0050 };
0051
0052 #endif