CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_4/src/TrackingTools/KalmanUpdators/interface/Chi2MeasurementEstimatorForTrackerHits.h

Go to the documentation of this file.
00001 #ifndef CommonDet_Chi2MeasurementEstimatorForTrackerHits_H
00002 #define CommonDet_Chi2MeasurementEstimatorForTrackerHits_H
00003 
00004 #include "TrackingTools/KalmanUpdators/interface/Chi2MeasurementEstimatorBase.h"
00005 #include "DataFormats/CLHEP/interface/AlgebraicObjects.h"
00006 
00007 
00015 class Chi2MeasurementEstimatorForTrackerHits : public Chi2MeasurementEstimatorBase {
00016 public:
00017 
00023   explicit Chi2MeasurementEstimatorForTrackerHits(double maxChi2, double nSigma = 3.) : 
00024     Chi2MeasurementEstimatorBase( maxChi2, nSigma), cacheUpToDate_(false) {}
00025 
00026   explicit Chi2MeasurementEstimatorForTrackerHits(const Chi2MeasurementEstimatorBase &est) :
00027         Chi2MeasurementEstimatorBase( est.chiSquaredCut(), est.nSigmaCut()), 
00028         cacheUpToDate_(false) {}
00029   
00030   void clearCache() { cacheUpToDate_ = false; }
00031 
00032   virtual std::pair<bool,double> estimate(const TrajectoryStateOnSurface&,
00033                                      const TransientTrackingRecHit&) const;
00034 
00035   virtual Chi2MeasurementEstimatorForTrackerHits* clone() const {
00036     return new Chi2MeasurementEstimatorForTrackerHits(*this);
00037   }
00038 private:
00039         mutable bool cacheUpToDate_;
00040         mutable AlgebraicVector2     tsosMeasuredParameters_;
00041         mutable AlgebraicSymMatrix22 tsosMeasuredError_;
00042 };
00043 
00044 #endif