CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HitEtaCheck.h
Go to the documentation of this file.
1 #ifndef HitEtaCheck_H
2 #define HitEtaCheck_H
3 
14 
15 class HitEtaCheck GCC11_FINAL : public HitRZCompatibility {
16 public:
17 
18  static constexpr Algo me = etaAlgo;
19 
20  HitEtaCheck(bool inbarrel,
22  float cotLeftLine, float cotRightLine)
23  : HitRZCompatibility(me),
24  isBarrel(inbarrel),
25  theRZ(HitRZConstraint(point, cotLeftLine, point, cotRightLine)) { }
26 
27  virtual bool operator() (const float & r, const float & z) const {
28  const auto & lineLeft = theRZ.lineLeft();
29  const auto & lineRight = theRZ.lineRight();
30  float cotHit = (lineLeft.origin().z()-z)/(lineLeft.origin().r()-r);
31  return lineRight.cotLine() < cotHit && cotHit < lineLeft.cotLine();
32  }
33 
34  virtual Range range(const float & rORz) const {
35  return (isBarrel) ?
36  HitZCheck(theRZ).range(rORz) : HitRCheck(theRZ).range(rORz);
37  }
38  virtual HitEtaCheck* clone() const { return new HitEtaCheck(*this); }
39 private:
40  bool isBarrel;
42 };
43 #endif
virtual Range range(const float &rORz) const
Definition: HitEtaCheck.h:34
float float float z
HitRZConstraint theRZ
Definition: HitEtaCheck.h:41
HitEtaCheck(bool inbarrel, const HitRZConstraint::Point &point, float cotLeftLine, float cotRightLine)
Definition: HitEtaCheck.h:20
virtual HitEtaCheck * clone() const
Definition: HitEtaCheck.h:38
std::pair< ContainerIterator, ContainerIterator > Range
bool isBarrel
Definition: HitEtaCheck.h:40
Definition: fakeMenu.h:6
#define constexpr
*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
virtual bool operator()(const float &r, const float &z) const =0
Unlimited (trivial) bounds.