CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Chi2Switching1DEstimator.h
Go to the documentation of this file.
1 #ifndef Chi2Switching1DEstimator_H_
2 #define Chi2Switching1DEstimator_H_
3 
18 
20 
21 public:
22 
23  explicit Chi2Switching1DEstimator(double aMaxChi2, double nSigma = 3.) :
24  Chi2MeasurementEstimatorBase(aMaxChi2,nSigma),
25  theLocalEstimator(new Chi2MeasurementEstimator(aMaxChi2,nSigma)),
26  theStripEstimator(new Chi2Strip1DEstimator(aMaxChi2,nSigma)) {};
27 
29  virtual std::pair<bool, double> estimate(const TrajectoryStateOnSurface& aTsos,
30  const TransientTrackingRecHit& aHit) const;
31 
32  virtual Chi2Switching1DEstimator* clone() const
33  {
34  return new Chi2Switching1DEstimator(*this);
35  }
36 
37 private:
40  return *theLocalEstimator;
41  }
44  return *theStripEstimator;
45  }
46 
47 private:
50 
51 };
52 #endif //Chi2Switching1DEstimator_H_
53 
54 
55 
virtual std::pair< bool, double > estimate(const TrajectoryStateOnSurface &aTsos, const TransientTrackingRecHit &aHit) const
implementation of MeasurementEstimator::estimate
DeepCopyPointerByClone< const Chi2Strip1DEstimator > theStripEstimator
const Chi2Strip1DEstimator & stripEstimator() const
estimator for 1D hits (non-matched strips)
Chi2Switching1DEstimator(double aMaxChi2, double nSigma=3.)
virtual Chi2Switching1DEstimator * clone() const
const Chi2MeasurementEstimator & localEstimator() const
estimator for 2D hits (matched or pixel)
DeepCopyPointerByClone< const Chi2MeasurementEstimator > theLocalEstimator