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 
21 
22 template <typename Algo>
24 public:
26 
27  OuterEstimator(const OuterDetCompatibility& detCompatibility,
28  const OuterHitCompat& hitCompatibility,
29  const edm::EventSetup& iSetup)
30  : theDetCompatibility(detCompatibility), theHitCompatibility(hitCompatibility) {}
31 
32  ~OuterEstimator() override {}
33 
34  std::pair<bool, double> estimate(const TrajectoryStateOnSurface& ts, const TrackingRecHit& hit) const override {
35  return theHitCompatibility(hit) ? std::make_pair(true, 1.) : std::make_pair(false, 0.);
36  }
37 
38  bool estimate(const TrajectoryStateOnSurface& ts, const BoundPlane& plane) const override {
39  return theDetCompatibility(plane);
40  }
41 
42  GlobalPoint center() { return theDetCompatibility.center(); }
43 
44  OuterEstimator* clone() const override { return new OuterEstimator(*this); }
45 
47  const BoundPlane& plane) const override {
48  return theDetCompatibility.maximalLocalDisplacement(ts.globalPosition(), plane);
49  }
50 
51  const OuterDetCompatibility& detCompatibility() const { return theDetCompatibility; }
52  const OuterHitCompat& hitCompatibility() const { return theHitCompatibility; }
53 
54 private:
57 };
58 #endif
~OuterEstimator() override
OuterDetCompatibility theDetCompatibility
GlobalPoint globalPosition() const
std::pair< bool, double > estimate(const TrajectoryStateOnSurface &ts, const TrackingRecHit &hit) const override
OuterHitCompat theHitCompatibility
MeasurementEstimator::Local2DVector maximalLocalDisplacement(const TrajectoryStateOnSurface &ts, const BoundPlane &plane) const override
#define dso_internal
Definition: Visibility.h:13
OuterEstimator * clone() const override
const OuterHitCompat & hitCompatibility() const
GlobalPoint center()
OuterEstimator(const OuterDetCompatibility &detCompatibility, const OuterHitCompat &hitCompatibility, const edm::EventSetup &iSetup)
bool estimate(const TrajectoryStateOnSurface &ts, const BoundPlane &plane) const override
const OuterDetCompatibility & detCompatibility() const