CMS 3D CMS Logo

OuterEstimator.h
Go to the documentation of this file.
1 #ifndef OuterEstimator_H
2 #define OuterEstimator_H
3 
14 
15 #include "OuterDetCompatibility.h"
16 #include "OuterHitCompatibility.h"
17 
19 
20 template <typename Algo>
22 public:
24 
25  OuterEstimator(const OuterDetCompatibility& detCompatibility, const OuterHitCompat& hitCompatibility)
26  : theDetCompatibility(detCompatibility), theHitCompatibility(hitCompatibility) {}
27 
28  ~OuterEstimator() override {}
29 
30  std::pair<bool, double> estimate(const TrajectoryStateOnSurface& ts, const TrackingRecHit& hit) const override {
31  return theHitCompatibility(hit) ? std::make_pair(true, 1.) : std::make_pair(false, 0.);
32  }
33 
34  bool estimate(const TrajectoryStateOnSurface& ts, const BoundPlane& plane) const override {
35  return theDetCompatibility(plane);
36  }
37 
38  GlobalPoint center() { return theDetCompatibility.center(); }
39 
40  OuterEstimator* clone() const override { return new OuterEstimator(*this); }
41 
43  const BoundPlane& plane) const override {
44  return theDetCompatibility.maximalLocalDisplacement(ts.globalPosition(), plane);
45  }
46 
47  const OuterDetCompatibility& detCompatibility() const { return theDetCompatibility; }
48  const OuterHitCompat& hitCompatibility() const { return theHitCompatibility; }
49 
50 private:
53 };
54 #endif
bool estimate(const TrajectoryStateOnSurface &ts, const BoundPlane &plane) const override
std::pair< bool, double > estimate(const TrajectoryStateOnSurface &ts, const TrackingRecHit &hit) const override
MeasurementEstimator::Local2DVector maximalLocalDisplacement(const TrajectoryStateOnSurface &ts, const BoundPlane &plane) const override
~OuterEstimator() override
OuterDetCompatibility theDetCompatibility
const OuterHitCompat & hitCompatibility() const
GlobalPoint globalPosition() const
OuterHitCompat theHitCompatibility
#define dso_internal
Definition: Visibility.h:13
OuterEstimator(const OuterDetCompatibility &detCompatibility, const OuterHitCompat &hitCompatibility)
GlobalPoint center()
OuterEstimator * clone() const override
const OuterDetCompatibility & detCompatibility() const