CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Chi2MeasurementEstimatorForTrackerHits.h
Go to the documentation of this file.
1 #ifndef CommonDet_Chi2MeasurementEstimatorForTrackerHits_H
2 #define CommonDet_Chi2MeasurementEstimatorForTrackerHits_H
3 
6 
7 #include <atomic>
8 
17  public:
22  private:
25 };
26 class Chi2MeasurementEstimatorForTrackerHits GCC11_FINAL : public Chi2MeasurementEstimatorBase {
27 public:
28 
29  Chi2MeasurementEstimatorForTrackerHits(const Chi2MeasurementEstimatorForTrackerHits& src);
35  explicit Chi2MeasurementEstimatorForTrackerHits(double maxChi2, double nSigma = 3.) :
36  Chi2MeasurementEstimatorBase( maxChi2, nSigma), aHelper(nullptr) {}
37 
39  Chi2MeasurementEstimatorBase( est.chiSquaredCut(), est.nSigmaCut()),
40  aHelper(nullptr) {}
41 
42  void clearCache() { aHelper = nullptr; }
43 
44  virtual std::pair<bool,double> estimate(const TrajectoryStateOnSurface&,
45  const TransientTrackingRecHit&) const;
46 
47  virtual Chi2MeasurementEstimatorForTrackerHits* clone() const {
48  return new Chi2MeasurementEstimatorForTrackerHits(*this);
49  }
50 private:
51  mutable std::atomic<AlgebraicHelper*> aHelper;
52 };
53 
54 #endif
const AlgebraicVector2 params() const
const AlgebraicSymMatrix22 errors() const
ROOT::Math::SMatrix< double, 2, 2, ROOT::Math::MatRepSym< double, 2 > > AlgebraicSymMatrix22
virtual Chi2MeasurementEstimatorForTrackerHits * clone() const
#define nullptr
AlgebraicHelper(const AlgebraicVector2 &v, const AlgebraicSymMatrix22 &m)
Chi2MeasurementEstimatorForTrackerHits(const Chi2MeasurementEstimatorBase &est)
std::atomic< AlgebraicHelper * > aHelper
virtual std::pair< bool, double > estimate(const TrajectoryStateOnSurface &ts, const TransientTrackingRecHit &) const =0
Chi2MeasurementEstimatorForTrackerHits(double maxChi2, double nSigma=3.)
ROOT::Math::SVector< double, 2 > AlgebraicVector2
Unlimited (trivial) bounds.