CMS 3D CMS Logo

HitEtaCheck.h
Go to the documentation of this file.
1 #ifndef HitEtaCheck_H
2 #define HitEtaCheck_H
3 
14 
15 class HitEtaCheck final : public HitRZCompatibility {
16 public:
17  static constexpr Algo me = etaAlgo;
18 
19  HitEtaCheck(bool inbarrel, const HitRZConstraint::Point& point, float cotLeftLine, float cotRightLine)
20  : HitRZCompatibility(me), isBarrel(inbarrel), theRZ(HitRZConstraint(point, cotLeftLine, point, cotRightLine)) {}
21 
22  bool operator()(const float& r, const float& z) const override {
23  const auto& lineLeft = theRZ.lineLeft();
24  const auto& lineRight = theRZ.lineRight();
25  float cotHit = (lineLeft.origin().z() - z) / (lineLeft.origin().r() - r);
26  return lineRight.cotLine() < cotHit && cotHit < lineLeft.cotLine();
27  }
28 
29  Range range(const float& rORz) const override {
30  return (isBarrel) ? HitZCheck(theRZ).range(rORz) : HitRCheck(theRZ).range(rORz);
31  }
32  HitEtaCheck* clone() const override { return new HitEtaCheck(*this); }
33 
34 private:
35  bool isBarrel;
37 };
38 #endif
HitEtaCheck::theRZ
HitRZConstraint theRZ
Definition: HitEtaCheck.h:36
HitEtaCheck::me
static constexpr Algo me
Definition: HitEtaCheck.h:17
HitRZConstraint.h
SimpleLineRZ::cotLine
float cotLine() const
Definition: PixelRecoLineRZ.h:74
HitEtaCheck
Definition: HitEtaCheck.h:15
HitZCheck
Definition: HitZCheck.h:10
HitRZCompatibility.h
HitEtaCheck::HitEtaCheck
HitEtaCheck(bool inbarrel, const HitRZConstraint::Point &point, float cotLeftLine, float cotRightLine)
Definition: HitEtaCheck.h:19
DDAxes::z
HitRZConstraint
Definition: HitRZConstraint.h:8
HitZCheck::range
Range range(const float &radius) const override
Definition: HitZCheck.h:33
Algo
Definition: fakeMenu.h:6
HitRZCompatibility
Definition: HitRZCompatibility.h:8
PixelRecoRange< float >
HitRZConstraint::lineLeft
const Line & lineLeft() const
Definition: HitRZConstraint.h:18
HitEtaCheck::isBarrel
bool isBarrel
Definition: HitEtaCheck.h:35
HitEtaCheck::clone
HitEtaCheck * clone() const override
Definition: HitEtaCheck.h:32
HitRCheck.h
HitZCheck.h
PixelRecoPointRZ
Definition: PixelRecoPointRZ.h:6
alignCSCRings.r
r
Definition: alignCSCRings.py:93
HitRCheck
Definition: HitRCheck.h:10
HitEtaCheck::range
Range range(const float &rORz) const override
Definition: HitEtaCheck.h:29
HitRCheck::range
Range range(const float &z) const override
Definition: HitRCheck.h:33
point
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
HitRZCompatibility::etaAlgo
Definition: HitRZCompatibility.h:11
HitRZConstraint::lineRight
const Line & lineRight() const
Definition: HitRZConstraint.h:19
HitEtaCheck::operator()
bool operator()(const float &r, const float &z) const override
Definition: HitEtaCheck.h:22