Go to the documentation of this file.00001 #ifndef BarrelMeasurementEstimator_H
00002 #define BarrelMeasurementEstimator_H
00003
00004
00005
00006
00007
00015
00016
00017
00018
00019
00020
00021
00022 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
00023 #include "TrackingTools/DetLayers/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 {
00034 public:
00035
00036 BarrelMeasurementEstimator()
00037 {}
00038 BarrelMeasurementEstimator(float phiMin, float phiMax, float zMin, float zMax )
00039 : thePhiMin(phiMin), thePhiMax(phiMax), theZMin(zMin), theZMax(zMax)
00040 {}
00041
00042 void setPhiRange( float dummyphiMin , float dummyphiMax )
00043 { thePhiMin = dummyphiMin ; thePhiMax = dummyphiMax ; }
00044 void setZRange( float zmin, float zmax )
00045 { theZMin=zmin ; theZMax=zmax ; }
00046
00047
00048 virtual std::pair<bool,double> estimate( const TrajectoryStateOnSurface & ts, const TransientTrackingRecHit & hit ) const ;
00049 virtual std::pair<bool,double> estimate( const TrajectoryStateOnSurface & ts, GlobalPoint & gp ) const ;
00050 virtual std::pair<bool,double> estimate( const GlobalPoint & vprim, const TrajectoryStateOnSurface & ts, GlobalPoint & gp ) const ;
00051 virtual bool estimate( const TrajectoryStateOnSurface & ts, const BoundPlane & plane) const ;
00052
00053 virtual BarrelMeasurementEstimator* clone() const
00054 { return new BarrelMeasurementEstimator(*this) ; }
00055
00056 MeasurementEstimator::Local2DVector
00057 maximalLocalDisplacement( const TrajectoryStateOnSurface & ts, const BoundPlane & plane) const ;
00058
00059 private:
00060
00061 float thePhiMin ;
00062 float thePhiMax ;
00063 float theZMin ;
00064 float theZMax ;
00065
00066 } ;
00067
00068 #endif // BarrelMeasurementEstimator_H