CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
HitEtaCheck Class Reference

#include <HitEtaCheck.h>

Inheritance diagram for HitEtaCheck:
HitRZCompatibility

Public Member Functions

virtual HitEtaCheckclone () const
 
 HitEtaCheck (bool inbarrel, const PixelRecoLineRZ::LineOrigin &point, float cotLeftLine, float cotRightLine)
 
virtual bool operator() (const float &r, const float &z) const
 
virtual Range range (const float &rORz) const
 

Private Attributes

bool isBarrel
 
HitRZConstraint theRZ
 

Additional Inherited Members

- Public Types inherited from HitRZCompatibility
typedef PixelRecoRange< float > Range
 

Detailed Description

Fast Implementation of HitRZCompatibility. The RZConstraint is defined by two lines and their crossing point. The r-z compatibility is tested by comparistion of cotangent given by r-z and lines crossing point with cotangents of two lines.

Definition at line 15 of file HitEtaCheck.h.

Constructor & Destructor Documentation

HitEtaCheck::HitEtaCheck ( bool  inbarrel,
const PixelRecoLineRZ::LineOrigin point,
float  cotLeftLine,
float  cotRightLine 
)
inline

Definition at line 17 of file HitEtaCheck.h.

Referenced by clone().

20  : isBarrel(inbarrel),
21  theRZ(HitRZConstraint(point, cotLeftLine, point, cotRightLine)) { }
bool isBarrel
Definition: HitEtaCheck.h:36
HitRZConstraint theRZ
Definition: HitEtaCheck.h:37

Member Function Documentation

virtual HitEtaCheck* HitEtaCheck::clone ( void  ) const
inlinevirtual

Implements HitRZCompatibility.

Definition at line 34 of file HitEtaCheck.h.

References HitEtaCheck().

34 { return new HitEtaCheck(*this); }
HitEtaCheck(bool inbarrel, const PixelRecoLineRZ::LineOrigin &point, float cotLeftLine, float cotRightLine)
Definition: HitEtaCheck.h:17
virtual bool HitEtaCheck::operator() ( const float &  r,
const float &  z 
) const
inlinevirtual

Implements HitRZCompatibility.

Definition at line 23 of file HitEtaCheck.h.

References PixelRecoLineRZ::cotLine(), HitRZConstraint::lineLeft(), HitRZConstraint::lineRight(), PixelRecoLineRZ::origin(), PixelRecoPointRZ::r(), alignCSCRings::r, theRZ, PixelRecoPointRZ::z(), and detailsBasic3DVector::z.

23  {
24  const PixelRecoLineRZ & lineLeft = theRZ.lineLeft();
25  const PixelRecoLineRZ & lineRight = theRZ.lineRight();
26  float cotHit = (lineLeft.origin().z()-z)/(lineLeft.origin().r()-r);
27  return lineRight.cotLine() < cotHit && cotHit < lineLeft.cotLine();
28  }
LineOrigin origin() const
double double double z
float cotLine() const
const PixelRecoLineRZ & lineRight() const
float z() const
float r() const
const PixelRecoLineRZ & lineLeft() const
HitRZConstraint theRZ
Definition: HitEtaCheck.h:37
virtual Range HitEtaCheck::range ( const float &  rORz) const
inlinevirtual

Implements HitRZCompatibility.

Definition at line 30 of file HitEtaCheck.h.

References isBarrel, HitRCheck::range(), HitZCheck::range(), and theRZ.

30  {
31  return (isBarrel) ?
32  HitZCheck(theRZ).range(rORz) : HitRCheck(theRZ).range(rORz);
33  }
virtual Range range(const float &z) const
Definition: HitRCheck.cc:4
bool isBarrel
Definition: HitEtaCheck.h:36
HitRZConstraint theRZ
Definition: HitEtaCheck.h:37
virtual Range range(const float &radius) const
Definition: HitZCheck.cc:5

Member Data Documentation

bool HitEtaCheck::isBarrel
private

Definition at line 36 of file HitEtaCheck.h.

Referenced by range().

HitRZConstraint HitEtaCheck::theRZ
private

Definition at line 37 of file HitEtaCheck.h.

Referenced by operator()(), and range().