CMS 3D CMS Logo

ForwardMeasurementEstimator.h

Go to the documentation of this file.
00001 #ifndef ForwardMeasurementEstimator_H
00002 #define ForwardMeasurementEstimator_H
00003 
00004 // -*- C++ -*-
00005 //
00006 // Package:    EgammaElectronAlgos
00007 // Class:      ForwardMeasurementEstimator
00008 // 
00016 //
00017 // Original Author:  Ursula Berthon, Claude Charlot
00018 //         Created:  Mon Mar 27 13:22:06 CEST 2006
00019 // $Id: ForwardMeasurementEstimator.h,v 1.14 2008/04/12 22:33:57 charlot Exp $
00020 //
00021 //
00022 #include "TrackingTools/PatternTools/interface/MeasurementEstimator.h"
00023 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
00024 #include "DataFormats/GeometrySurface/interface/BoundPlane.h"
00025 #include <utility>
00026 
00027 class ForwardMeasurementEstimator : public MeasurementEstimator {
00028 public:
00029   ForwardMeasurementEstimator() {};
00030   ForwardMeasurementEstimator(float phiMin, float phiMax, float rMin, float rMax ) : 
00031     thePhiMin(phiMin), thePhiMax( phiMax), theRMin(rMin), theRMax(rMax) {}
00032 
00033   void setPhiRange(float dummyphiMin , float dummyphiMax) 
00034   { 
00035     thePhiMin = dummyphiMin ; 
00036     thePhiMax = dummyphiMax ; 
00037   }
00038   void setRRange(float rmin , float rmax) 
00039   { 
00040     theRMin = rmin;
00041     theRMax = rmax;
00042   }
00043    void setRRangeI(float rmin , float rmax) 
00044   { 
00045     theRMinI = rmin;
00046     theRMaxI = rmax;
00047   }
00048   
00049   // zero value indicates incompatible ts - hit pair
00050   virtual std::pair<bool,double> estimate( const TrajectoryStateOnSurface& ts, 
00051                                            const TransientTrackingRecHit& hit) const;
00052 
00053   virtual std::pair<bool,double> estimate( const TrajectoryStateOnSurface& ts, 
00054                            GlobalPoint &gp) const;
00055 
00056   virtual bool estimate( const TrajectoryStateOnSurface& ts, 
00057                          const BoundPlane& plane) const;
00058 
00059   virtual ForwardMeasurementEstimator* clone() const
00060     {
00061       return new ForwardMeasurementEstimator(*this);
00062     }
00063 
00064   MeasurementEstimator::Local2DVector 
00065     maximalLocalDisplacement( const TrajectoryStateOnSurface& ts,
00066                               const BoundPlane& plane) const;
00067 
00068  private:
00069 
00070   float thePhiMin;
00071   float thePhiMax;
00072   float theRMin;
00073   float theRMax;
00074   float theRMinI, theRMaxI;
00075 
00076 };
00077 
00078 #endif // ForwardMeasurementEstimator_H

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