CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Functions
DetLessZ.h File Reference
#include "TrackingTools/DetLayers/interface/GeometricSearchDet.h"

Go to the source code of this file.

Functions

bool isDetLessZ (const GeometricSearchDet *a, const GeometricSearchDet *b)
 

Function Documentation

bool isDetLessZ ( const GeometricSearchDet a,
const GeometricSearchDet b 
)
inline

Comparison operator for Dets based on the Z.

Definition at line 9 of file DetLessZ.h.

References GeometricSearchDet::position(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by BeamHaloNavigationSchool::reachableFromHorizontal(), SimpleNavigationSchool::splitForwardLayers(), and TIBLayer::TIBLayer().

9  {
10  // multiply by 1+epsilon to make it numericaly stable
11  // the epsilon should depend on the scalar precision,
12  // this is just a quick fix!
13  if (a->position().z() > 0) {
14  return a->position().z() * 1.000001 < b->position().z();
15  } else if (b->position().z() < 0) {
16  return a->position().z() < b->position().z() * 1.000001;
17  } else
18  return true;
19 }
T z() const
Definition: PV3DBase.h:61
virtual const Surface::PositionType & position() const
Returns position of the surface.