CMS 3D CMS Logo

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