CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
TrackMerger::MomentumSort Class Reference

Public Member Functions

 MomentumSort (const GlobalVector &dir, const TrackerGeometry *geometry)
 
bool operator() (const TrackingRecHit *hit1, const TrackingRecHit *hit2) const
 

Private Attributes

GlobalVector dir_
 
const TrackerGeometrygeom_
 

Detailed Description

Definition at line 41 of file TrackMerger.h.

Constructor & Destructor Documentation

TrackMerger::MomentumSort::MomentumSort ( const GlobalVector dir,
const TrackerGeometry geometry 
)
inline

Definition at line 43 of file TrackMerger.h.

43 : dir_(dir), geom_(geometry) {}
const TrackerGeometry * geom_
Definition: TrackMerger.h:47

Member Function Documentation

bool TrackMerger::MomentumSort::operator() ( const TrackingRecHit hit1,
const TrackingRecHit hit2 
) const

Definition at line 188 of file TrackMerger.cc.

References sistrip::dir_, TrackingRecHit::geographicalId(), p1, p2, and GeomDet::toGlobal().

189 {
190  const GeomDet *det1 = geom_->idToDet(hit1->geographicalId());
191  const GeomDet *det2 = geom_->idToDet(hit2->geographicalId());
192  GlobalPoint p1 = det1->toGlobal(LocalPoint(0,0,0));
193  GlobalPoint p2 = det2->toGlobal(LocalPoint(0,0,0));
194  return (p2 - p1).dot(dir_) > 0;
195 }
Point3DBase< Scalar, LocalTag > LocalPoint
Definition: Definitions.h:32
const TrackerGeometry * geom_
Definition: TrackMerger.h:47
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Definition: GeomDet.h:54
double p2[4]
Definition: TauolaWrapper.h:90
double p1[4]
Definition: TauolaWrapper.h:89
const TrackerGeomDet * idToDet(DetId) const override
DetId geographicalId() const

Member Data Documentation

GlobalVector TrackMerger::MomentumSort::dir_
private

Definition at line 46 of file TrackMerger.h.

const TrackerGeometry* TrackMerger::MomentumSort::geom_
private

Definition at line 47 of file TrackMerger.h.