Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:31:32

0001 #ifndef CD_Strip1DMeasurementTransformator_H_
0002 #define CD_Strip1DMeasurementTransformator_H_
0003 
0004 /** \class Strip1DMeasurementTransformator
0005  *  Helper class for accessing the RecHit and the TrajectoryState parameters
0006  *  and errors in the measurement frame. The RecHits are treated as
0007  *  1-dimensional, the second coordinate is ignored. Ported from ORCA.
0008  *
0009  *  \author todorov, cerati
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   /// return ideal topology, as if the sensor were flat
0040   const StripTopology* idealTopology() const { return theIdealTopology; }
0041   /// return real topology, taking sensor deformations into account
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  //CD_Strip1DMeasurementTransformator_H_