CMS 3D CMS Logo

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