5#ifndef SiDetElementsComparison_h
6#define SiDetElementsComparison_h
26 double f1 = atan2(p1.y(),p1.x());
27 double f2 = atan2(p2.y(),p2.x());
47 double r1 = sqrt(p1.x()*p1.x()+p1.y()*p1.y());
48 double r2 = sqrt(p2.x()*p2.x()+p2.y()*p2.y());
49 if(fabs(r1-r2)>.1)
return(r1<r2);
50 double f1 = atan2(p1.y(),p1.x());
51 double f2 = atan2(p2.y(),p2.x());
52 if(fabs(f1-f2)>.04)
return(f1<f2);
53 return(p1.z()<p2.z());
74 if(fabs(z1-z2)>.1)
return(fabs(z1)<fabs(z2));
76 if(e1->isPixel() && e2->isSCT ())
return true ;
77 if(e1->isSCT () && e2->isPixel())
return false;
79 double r1 = sqrt(p1.x()*p1.x()+p1.y()*p1.y());
80 double r2 = sqrt(p2.x()*p2.x()+p2.y()*p2.y());
81 if(r2-r1> 10.)
return true;
82 if(r1-r2> 10.)
return false;
84 double f1 = atan2(p1.y(),p1.x());
85 double f2 = atan2(p2.y(),p2.x());
94 if (l1.way() == l2.way()){
95 return l1.distance() < l2.distance();
98 else return l1.way() < l2.way();
114 return (l1.phi() < l2.phi());
Class to hold geometrical description of a silicon detector element.
bool operator()(const SiDetElementLink_xk::ElementWay &l1, const SiDetElementLink_xk::ElementWay &l2) const
bool operator()(const InDetDD::SiDetectorElement *e1, const InDetDD::SiDetectorElement *e2) const
bool operator()(const InDet::SiDetElementLink_xk &l1, const InDet::SiDetElementLink_xk &l2) const
bool operator()(const InDetDD::SiDetectorElement *e1, const InDetDD::SiDetectorElement *e2) const
bool operator()(const InDetDD::SiDetectorElement *e1, const InDetDD::SiDetectorElement *e2) const
Eigen::Matrix< double, 3, 1 > Vector3D