CMS 3D CMS Logo

HitZCheck.h
Go to the documentation of this file.
1 #ifndef HitZCheck_H
2 #define HitZCheck_H
3 
9 
10 class HitZCheck final : public HitRZCompatibility {
11 public:
12  static constexpr Algo me = zAlgo;
13 
15 
17  HitZCheck(const HitRZConstraint& rz, Margin margin = Margin(0, 0))
19 
20  bool operator()(const float& r, const float& z) const override { return range(r).inside(z); }
21 
22  inline Range range(const float& radius) const override;
23 
24  HitZCheck* clone() const override { return new HitZCheck(*this); }
25 
26  void setTolerance(const Margin& tolerance) { theTolerance = tolerance; }
27 
28 private:
30  Margin theTolerance;
31 };
32 
34  return Range(theRZ.lineLeft().zAtR(radius) - theTolerance.left(),
35  theRZ.lineRight().zAtR(radius) + theTolerance.right());
36 }
37 
38 #endif
TkTrackingRegionsMargin< float > Margin
Definition: HitZCheck.h:14
HitZCheck(const HitRZConstraint &rz, Margin margin=Margin(0, 0))
Definition: HitZCheck.h:17
const double tolerance
const Line & lineRight() const
static constexpr Algo me
Definition: HitZCheck.h:12
Range range(const float &radius) const override
Definition: HitZCheck.h:33
Double_t margin
Margin theTolerance
Definition: HitZCheck.h:30
const Line & lineLeft() const
HitRZConstraint theRZ
Definition: HitZCheck.h:29
PixelRecoRange< float > Range
bool inside(const T &value) const
HitZCheck()
Definition: HitZCheck.h:16
float zAtR(float r) const
HitZCheck * clone() const override
Definition: HitZCheck.h:24
Definition: fakeMenu.h:6
#define constexpr
bool operator()(const float &r, const float &z) const override
Definition: HitZCheck.h:20
void setTolerance(const Margin &tolerance)
Definition: HitZCheck.h:26