CMS 3D CMS Logo

MeasurementEstimator.h

Go to the documentation of this file.
00001 #ifndef Tracker_MeasurementEstimator_H
00002 #define Tracker_MeasurementEstimator_H
00003 
00004 #include "DataFormats/GeometryVector/interface/Vector2DBase.h"
00005 #include "DataFormats/GeometryVector/interface/LocalTag.h"
00006 #include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHit.h"
00007 
00008 #include <utility>
00009 
00010 class BoundPlane;
00011 class TrajectoryStateOnSurface;
00012 class Surface;
00013 
00021 class MeasurementEstimator {
00022 public:
00023 
00024   typedef Vector2DBase< float, LocalTag>    Local2DVector;
00025 
00026   virtual ~MeasurementEstimator() {}
00027 
00028   typedef std::pair<bool,double>     HitReturnType;
00029   typedef bool                  SurfaceReturnType;
00030 
00037   virtual HitReturnType estimate( const TrajectoryStateOnSurface& ts, 
00038                                   const TransientTrackingRecHit& hit) const = 0;
00039 
00044   virtual SurfaceReturnType estimate( const TrajectoryStateOnSurface& ts, 
00045                                       const BoundPlane& plane) const = 0;
00046 
00047 /*   virtual SurfaceReturnType estimate( const TrajectoryStateOnSurface& ts,  */
00048 /*                                    const BoundSurface& plane) const; */
00049 
00050   virtual MeasurementEstimator* clone() const = 0;
00051 
00060   virtual Local2DVector 
00061   maximalLocalDisplacement( const TrajectoryStateOnSurface& ts,
00062                             const BoundPlane& plane) const;
00063 };
00064 
00065 #endif // Tracker_MeasurementEstimator_H

Generated on Tue Jun 9 17:48:23 2009 for CMSSW by  doxygen 1.5.4