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