#include <TwoTrackMinimumDistance.h>
Public Types | |
enum | Mode { FastMode =0, SlowMode =1 } |
Public Member Functions | |
virtual bool | calculate (const TrajectoryStateOnSurface &sta, const TrajectoryStateOnSurface &stb) |
virtual bool | calculate (const FreeTrajectoryState &sta, const FreeTrajectoryState &stb) |
virtual bool | calculate (const GlobalTrajectoryParameters &sta, const GlobalTrajectoryParameters &stb) |
virtual TwoTrackMinimumDistance * | clone () const |
virtual GlobalPoint | crossingPoint () const |
virtual float | distance () const |
double | firstAngle () const |
std::pair< double, double > | pathLength () const |
virtual std::pair< GlobalPoint, GlobalPoint > | points () const |
double | secondAngle () const |
virtual bool | status () const |
TwoTrackMinimumDistance (const Mode m=FastMode) | |
~TwoTrackMinimumDistance () | |
Public Member Functions inherited from ClosestApproachOnHelices | |
ClosestApproachOnHelices () | |
virtual | ~ClosestApproachOnHelices () |
Private Types | |
enum | Charge { hh, hl, ll } |
Private Member Functions | |
bool | pointsHelixHelix (const GlobalTrajectoryParameters &sta, const GlobalTrajectoryParameters &stb) |
bool | pointsHelixLine (const GlobalTrajectoryParameters &sta, const GlobalTrajectoryParameters &stb) |
bool | pointsLineLine (const GlobalTrajectoryParameters &sta, const GlobalTrajectoryParameters &stb) |
General interface to calculate the PCA of two tracks. According to the charge of the tracks, the correct algorithm is used:
Definition at line 19 of file TwoTrackMinimumDistance.h.
|
private |
Definition at line 25 of file TwoTrackMinimumDistance.h.
References visualization-live-secondInstance_cfg::m, status_, and theModus.
Referenced by clone().
|
inline |
Definition at line 26 of file TwoTrackMinimumDistance.h.
|
virtual |
Implements ClosestApproachOnHelices.
Definition at line 65 of file TwoTrackMinimumDistance.cc.
References TrajectoryStateOnSurface::globalParameters().
Referenced by VZeroFinder::checkTrackPair(), CrossingPtBasedLinearizationPointFinder::getLinearizationPoint(), PFDisplacedVertexCandidateFinder::link(), TracksClusteringFromDisplacedSeed::nearTracks(), TSCBLBuilderNoMaterial::operator()(), and CrossingPtBasedLinearizationPointFinder::useAllTracks().
|
virtual |
Implements ClosestApproachOnHelices.
Definition at line 73 of file TwoTrackMinimumDistance.cc.
References FreeTrajectoryState::parameters().
|
virtual |
Definition at line 81 of file TwoTrackMinimumDistance.cc.
References GlobalTrajectoryParameters::charge(), MagneticField::inTesla(), GlobalTrajectoryParameters::magneticField(), GlobalTrajectoryParameters::position(), and detailsBasic3DVector::z.
|
inlinevirtual |
Clone method
Implements ClosestApproachOnHelices.
Definition at line 55 of file TwoTrackMinimumDistance.h.
References TwoTrackMinimumDistance().
|
virtual |
arithmetic mean of the two points of closest approach
Implements ClosestApproachOnHelices.
Definition at line 185 of file TwoTrackMinimumDistance.cc.
References timingPdfMaker::mean.
Referenced by VZeroFinder::checkTrackPair(), PFDisplacedVertexCandidateFinder::link(), and TracksClusteringFromDisplacedSeed::nearTracks().
|
virtual |
distance between the two points of closest approach in 3D
Implements ClosestApproachOnHelices.
Definition at line 191 of file TwoTrackMinimumDistance.cc.
Referenced by VZeroFinder::checkTrackPair(), PFDisplacedVertexCandidateFinder::link(), and TracksClusteringFromDisplacedSeed::nearTracks().
double TwoTrackMinimumDistance::firstAngle | ( | ) | const |
Definition at line 20 of file TwoTrackMinimumDistance.cc.
References Exception.
Referenced by VZeroFinder::checkTrackPair(), and TSCBLBuilderNoMaterial::operator()().
pair< double, double > TwoTrackMinimumDistance::pathLength | ( | ) | const |
Definition at line 45 of file TwoTrackMinimumDistance.cc.
References Exception.
Referenced by TSCBLBuilderNoMaterial::operator()().
|
virtual |
Returns the two PCA on the trajectories.
Implements ClosestApproachOnHelices.
Definition at line 57 of file TwoTrackMinimumDistance.cc.
References Exception.
Referenced by CrossingPtBasedLinearizationPointFinder::getLinearizationPoint(), TracksClusteringFromDisplacedSeed::nearTracks(), TSCBLBuilderNoMaterial::operator()(), and CrossingPtBasedLinearizationPointFinder::useAllTracks().
|
private |
Definition at line 119 of file TwoTrackMinimumDistance.cc.
References GlobalTrajectoryParameters::charge(), alignCSCRings::e, f, mag2(), GlobalTrajectoryParameters::momentum(), GlobalTrajectoryParameters::position(), and detailsBasic3DVector::z.
|
private |
Definition at line 109 of file TwoTrackMinimumDistance.cc.
|
private |
Definition at line 99 of file TwoTrackMinimumDistance.cc.
double TwoTrackMinimumDistance::secondAngle | ( | ) | const |
Definition at line 32 of file TwoTrackMinimumDistance.cc.
References Exception.
Referenced by VZeroFinder::checkTrackPair().
|
inlinevirtual |
Implements ClosestApproachOnHelices.
Definition at line 37 of file TwoTrackMinimumDistance.h.
References status_.
|
private |
Definition at line 72 of file TwoTrackMinimumDistance.h.
|
private |
Definition at line 71 of file TwoTrackMinimumDistance.h.
Referenced by status(), and TwoTrackMinimumDistance().
|
mutableprivate |
Definition at line 66 of file TwoTrackMinimumDistance.h.
|
private |
Definition at line 67 of file TwoTrackMinimumDistance.h.
|
private |
Definition at line 65 of file TwoTrackMinimumDistance.h.
Referenced by TwoTrackMinimumDistance().
|
mutableprivate |
Definition at line 68 of file TwoTrackMinimumDistance.h.
|
mutableprivate |
Definition at line 70 of file TwoTrackMinimumDistance.h.
|
mutableprivate |
Definition at line 69 of file TwoTrackMinimumDistance.h.