#include <TwoTrackMinimumDistanceHelixHelix.h>
Public Member Functions | |
bool | calculate (const GlobalTrajectoryParameters &, const GlobalTrajectoryParameters &, const float qual=.001) |
double | firstAngle () const |
std::pair< double, double > | pathLength () const |
std::pair< GlobalPoint, GlobalPoint > | points () const |
double | secondAngle () const |
TwoTrackMinimumDistanceHelixHelix () | |
~TwoTrackMinimumDistanceHelixHelix () | |
Private Member Functions | |
void | finalPoints () const |
bool | oneIteration (double &, double &) const |
bool | updateCoeffs (const GlobalPoint &, const GlobalPoint &) |
Private Attributes | |
double | pathG |
double | pathH |
GlobalPoint | pointG |
GlobalPoint | pointH |
bool | pointsUpdated |
double | thea |
double | theb |
double | thec1 |
double | thec2 |
double | thecospG |
double | thecospG0 |
double | thecospH |
double | thecospH0 |
double | thed1 |
double | thed2 |
double | thee1 |
double | thee2 |
GlobalTrajectoryParameters const * | theG |
double | theg |
GlobalTrajectoryParameters const * | theH |
double | theh |
int | themaxiter |
double | themaxjump |
double | thepG |
double | thepG0 |
double | thepH |
double | thepH0 |
double | thesingjacI |
double | thesinpG |
double | thesinpG0 |
double | thesinpH |
double | thesinpH0 |
double | thetanlambdaG |
double | thetanlambdaH |
This is a helper class for TwoTrackMinimumDistance. No user should need direct access to this class. It actually implements a Newton-Kantorowitsch method for finding the minimum distance between two tracks.
Definition at line 18 of file TwoTrackMinimumDistanceHelixHelix.h.
TwoTrackMinimumDistanceHelixHelix::TwoTrackMinimumDistanceHelixHelix | ( | ) |
Definition at line 33 of file TwoTrackMinimumDistanceHelixHelix.cc.
TwoTrackMinimumDistanceHelixHelix::~TwoTrackMinimumDistanceHelixHelix | ( | ) |
Definition at line 37 of file TwoTrackMinimumDistanceHelixHelix.cc.
bool TwoTrackMinimumDistanceHelixHelix::calculate | ( | const GlobalTrajectoryParameters & | G, |
const GlobalTrajectoryParameters & | H, | ||
const float | qual = .001 |
||
) |
Definition at line 142 of file TwoTrackMinimumDistanceHelixHelix.cc.
References counter, oneIteration(), pointsUpdated, GlobalTrajectoryParameters::position(), theG, theg, theH, theh, themaxiter, themaxjump, thepG, thepG0, thepH, thepH0, and updateCoeffs().
|
private |
Definition at line 168 of file TwoTrackMinimumDistanceHelixHelix.cc.
References funct::cos(), pathG, pathH, pointG, pointH, pointsUpdated, GlobalTrajectoryParameters::position(), funct::sin(), mathSSE::sqrt(), thecospG0, thecospH0, theG, theg, theH, theh, thepG, thepG0, thepH, thepH0, thesinpG0, thesinpH0, thetanlambdaG, and thetanlambdaH.
Referenced by pathLength(), and points().
|
inline |
Definition at line 40 of file TwoTrackMinimumDistanceHelixHelix.h.
References thepG.
|
private |
Definition at line 101 of file TwoTrackMinimumDistanceHelixHelix.cc.
References funct::cos(), funct::sin(), thea, theb, thec1, thec2, thecospG, thecospH, thed1, thed2, thee1, thee2, theg, theh, thepG, thepH, thesingjacI, thesinpG, and thesinpH.
Referenced by calculate().
|
inline |
Definition at line 33 of file TwoTrackMinimumDistanceHelixHelix.h.
References finalPoints(), pathG, pathH, and pointsUpdated.
|
inline |
Definition at line 28 of file TwoTrackMinimumDistanceHelixHelix.h.
References finalPoints(), pointG, pointH, and pointsUpdated.
|
inline |
Definition at line 41 of file TwoTrackMinimumDistanceHelixHelix.h.
References thepH.
|
private |
Definition at line 39 of file TwoTrackMinimumDistanceHelixHelix.cc.
References GlobalTrajectoryParameters::charge(), ora::Gt, MagneticField::inInverseGeV(), GlobalTrajectoryParameters::magneticField(), GlobalTrajectoryParameters::momentum(), PV3DBase< T, PVType, FrameType >::perp(), GlobalTrajectoryParameters::position(), thea, theb, thec1, thec2, thecospG0, thecospH0, thed1, thed2, thee1, thee2, theG, theg, theH, theh, thepG0, thepH0, thesinpG0, thesinpH0, thetanlambdaG, thetanlambdaH, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by calculate().
|
mutableprivate |
Definition at line 66 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by finalPoints(), and pathLength().
|
mutableprivate |
Definition at line 66 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by finalPoints(), and pathLength().
|
mutableprivate |
Definition at line 65 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by finalPoints(), and points().
|
mutableprivate |
Definition at line 65 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by finalPoints(), and points().
|
mutableprivate |
Definition at line 67 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by calculate(), finalPoints(), pathLength(), and points().
|
private |
Definition at line 53 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by oneIteration(), and updateCoeffs().
|
private |
Definition at line 53 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by oneIteration(), and updateCoeffs().
|
private |
Definition at line 53 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by oneIteration(), and updateCoeffs().
|
private |
Definition at line 53 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by oneIteration(), and updateCoeffs().
|
mutableprivate |
Definition at line 64 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by oneIteration().
|
private |
Definition at line 56 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by finalPoints(), and updateCoeffs().
|
mutableprivate |
Definition at line 64 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by oneIteration().
|
private |
Definition at line 57 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by finalPoints(), and updateCoeffs().
|
private |
Definition at line 53 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by oneIteration(), and updateCoeffs().
|
private |
Definition at line 53 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by oneIteration(), and updateCoeffs().
|
private |
Definition at line 53 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by oneIteration(), and updateCoeffs().
|
private |
Definition at line 53 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by oneIteration(), and updateCoeffs().
|
private |
Definition at line 51 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by calculate(), finalPoints(), and updateCoeffs().
|
private |
Definition at line 53 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by calculate(), finalPoints(), oneIteration(), and updateCoeffs().
|
private |
Definition at line 51 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by calculate(), finalPoints(), and updateCoeffs().
|
private |
Definition at line 53 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by calculate(), finalPoints(), oneIteration(), and updateCoeffs().
|
private |
Definition at line 70 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by calculate().
|
private |
Definition at line 69 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by calculate().
|
mutableprivate |
Definition at line 62 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by calculate(), finalPoints(), firstAngle(), and oneIteration().
|
private |
Definition at line 58 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by calculate(), finalPoints(), and updateCoeffs().
|
mutableprivate |
Definition at line 62 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by calculate(), finalPoints(), oneIteration(), and secondAngle().
|
private |
Definition at line 58 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by calculate(), finalPoints(), and updateCoeffs().
|
private |
Definition at line 69 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by oneIteration().
|
mutableprivate |
Definition at line 63 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by oneIteration().
|
private |
Definition at line 56 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by finalPoints(), and updateCoeffs().
|
mutableprivate |
Definition at line 63 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by oneIteration().
|
private |
Definition at line 57 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by finalPoints(), and updateCoeffs().
|
private |
Definition at line 55 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by finalPoints(), and updateCoeffs().
|
private |
Definition at line 55 of file TwoTrackMinimumDistanceHelixHelix.h.
Referenced by finalPoints(), and updateCoeffs().