CMS 3D CMS Logo

ConversionForwardEstimator.h

Go to the documentation of this file.
00001 #ifndef  RecoEGAMMA_ConversionForwardEstimator_H
00002 #define  RecoEGAMMA_ConversionForwardEstimator_H
00003 
00013 #include "TrackingTools/PatternTools/interface/MeasurementEstimator.h" 
00014 #include "DataFormats/GeometryVector/interface/Vector2DBase.h"
00015 #include "DataFormats/GeometryVector/interface/LocalTag.h"
00016 
00017 
00018 #include <iostream> 
00019 class RecHit;
00020 class TrajectoryStateOnSurface;
00021 class BoundPlane;
00022 
00023 class ConversionForwardEstimator : public MeasurementEstimator {
00024 public:
00025   ConversionForwardEstimator() {};
00026   ConversionForwardEstimator( float phiRangeMin, float phiRangeMax, float dr, double nSigma = 3.  ) :
00027                            thePhiRangeMin( phiRangeMin), thePhiRangeMax( phiRangeMax), dr_(dr),  theNSigma(nSigma) {
00028     //std::cout << " ConversionForwardEstimator CTOR " << std::endl;
00029 }
00030 
00031   // zero value indicates incompatible ts - hit pair
00032   virtual std::pair<bool,double> estimate( const TrajectoryStateOnSurface& ts, 
00033                            const TransientTrackingRecHit& hit) const;
00034   virtual bool estimate( const TrajectoryStateOnSurface& ts, 
00035                            const BoundPlane& plane) const;
00036   virtual ConversionForwardEstimator* clone() const {
00037     return new ConversionForwardEstimator(*this);
00038   } 
00039 
00040 
00041 virtual Local2DVector maximalLocalDisplacement( const TrajectoryStateOnSurface& ts, const BoundPlane& plane) const;
00042 
00043  double nSigmaCut() const {return theNSigma;}
00044 
00045 private:
00046 
00047   float thePhiRangeMin;
00048   float thePhiRangeMax;
00049   float dr_;
00050   double theNSigma;
00051 };
00052 
00053 #endif // ConversionForwardEstimator_H
00054 
00055 
00056 
00057 
00058 
00059 
00060 
00061 
00062 
00063 
00064 
00065 

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