00001 #ifndef HIC_SEED_MeasurementEstimator_HIC_H 00002 #define HIC_SEED_MeasurementEstimator_HIC_H 00003 00004 #include "TrackingTools/PatternTools/interface/MeasurementEstimator.h" 00005 #include "TrackingTools/DetLayers/interface/DetLayer.h" 00006 00007 //#define HICMEASUREMENT_DEBUG 00008 namespace cms { 00009 class HICSeedMeasurementEstimator:public MeasurementEstimator { 00010 public: 00011 00012 explicit HICSeedMeasurementEstimator(bool& trust,int nsig):trtrue(trust), theNSigma(nsig) {} 00013 00014 virtual MeasurementEstimator::HitReturnType estimate( const TrajectoryStateOnSurface& ts, 00015 const TransientTrackingRecHit& hit) const; 00016 00017 virtual MeasurementEstimator::SurfaceReturnType estimate( const TrajectoryStateOnSurface& ts, 00018 const BoundPlane& plane) const; 00019 00020 virtual MeasurementEstimator::Local2DVector 00021 maximalLocalDisplacement( const TrajectoryStateOnSurface& ts, 00022 const BoundPlane& plane) const; 00023 00024 double nSigmaCut() const {return theNSigma;} 00025 00026 void set(double& phi, double& z) {thePhi=phi;theZ=z;} 00027 00028 double getZ() {return theZ;} 00029 00030 double getPhi() {return thePhi;} 00031 00032 HICSeedMeasurementEstimator* clone() const { 00033 return new HICSeedMeasurementEstimator(*this); 00034 } 00035 00036 private: 00037 00038 double thePhi; 00039 double theZ; 00040 bool trtrue; 00041 int theNSigma; 00042 00043 }; 00044 } 00045 #endif // HIC_SEED_MeasurementEstimator_HIC_H