CMS 3D CMS Logo

BarrelMeasurementEstimator.h

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

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