#include <TwoTrackMinimumDistanceHelixLine.h>
Public Member Functions | |
bool | calculate (const GlobalTrajectoryParameters &, const GlobalTrajectoryParameters &, const float qual=.0001) |
double | firstAngle () const |
std::pair< double, double > | pathLength () const |
std::pair< GlobalPoint, GlobalPoint > | points () const |
double | secondAngle () const |
TwoTrackMinimumDistanceHelixLine () | |
~TwoTrackMinimumDistanceHelixLine () | |
Private Member Functions | |
void | finalPoints () const |
bool | oneIteration (double &thePhiH, double &fct, double &derivative) const |
bool | updateCoeffs () |
Private Attributes | |
double | aa |
double | baseDer |
double | baseFct |
double | bb |
double | cc |
double | dd |
double | ee |
double | ff |
GlobalTrajectoryParameters * | firstGTP |
double | helixPath |
GlobalPoint | helixPoint |
double | Hn |
double | linePath |
GlobalPoint | linePoint |
double | Ln |
bool | pointsUpdated |
GlobalVector | posDiff |
double | px |
double | px2 |
double | py |
double | py2 |
double | pz |
double | pz2 |
GlobalTrajectoryParameters * | secondGTP |
double | thecosPhiH0 |
GlobalTrajectoryParameters * | theH |
double | theh |
GlobalTrajectoryParameters * | theL |
GlobalVector | theLp |
int | themaxiter |
double | thePhiH |
double | thePhiH0 |
double | thesinPhiH0 |
double | thetanlambdaH |
double | tL |
double | X |
double | Y |
double | Z |
This is a helper class for TwoTrackMinimumDistance, for the case where one of the tracks is charged and the other not. No user should need direct access to this class. It implements a Newton method for finding the minimum distance between two tracks.
Definition at line 17 of file TwoTrackMinimumDistanceHelixLine.h.
|
inline |
Definition at line 21 of file TwoTrackMinimumDistanceHelixLine.h.
|
inline |
Definition at line 23 of file TwoTrackMinimumDistanceHelixLine.h.
References calculate(), firstAngle(), pathLength(), points(), and secondAngle().
bool TwoTrackMinimumDistanceHelixLine::calculate | ( | const GlobalTrajectoryParameters & | theFirstGTP, |
const GlobalTrajectoryParameters & | theSecondGTP, | ||
const float | qual = .0001 |
||
) |
Calculates the PCA between a charged particle (helix) and a neutral particle (line). The order of the trajectories (helix-line or line-helix) is irrelevent, and will be conserved.
Definition at line 113 of file TwoTrackMinimumDistanceHelixLine.cc.
References LogDebug, and M_PI.
Referenced by ~TwoTrackMinimumDistanceHelixLine().
|
private |
Definition at line 175 of file TwoTrackMinimumDistanceHelixLine.cc.
References funct::cos(), mps_update::diff, PV3DBase< T, PVType, FrameType >::mag(), funct::sin(), and mathSSE::sqrt().
double TwoTrackMinimumDistanceHelixLine::firstAngle | ( | ) | const |
Definition at line 146 of file TwoTrackMinimumDistanceHelixLine.cc.
Referenced by ~TwoTrackMinimumDistanceHelixLine().
|
private |
Definition at line 80 of file TwoTrackMinimumDistanceHelixLine.cc.
References funct::cos(), createTree::dd, alignCSCRings::ff, and funct::sin().
pair< double, double > TwoTrackMinimumDistanceHelixLine::pathLength | ( | ) | const |
Definition at line 167 of file TwoTrackMinimumDistanceHelixLine.cc.
Referenced by ~TwoTrackMinimumDistanceHelixLine().
pair< GlobalPoint, GlobalPoint > TwoTrackMinimumDistanceHelixLine::points | ( | ) | const |
Returns the PCA's on the two trajectories. The first point lies on the first trajectory, the second point on the second trajectory.
Definition at line 158 of file TwoTrackMinimumDistanceHelixLine.cc.
Referenced by ~TwoTrackMinimumDistanceHelixLine().
double TwoTrackMinimumDistanceHelixLine::secondAngle | ( | ) | const |
Definition at line 152 of file TwoTrackMinimumDistanceHelixLine.cc.
Referenced by ~TwoTrackMinimumDistanceHelixLine().
|
private |
Definition at line 10 of file TwoTrackMinimumDistanceHelixLine.cc.
References funct::cos(), createTree::dd, alignCSCRings::ff, funct::sin(), mathSSE::sqrt(), X, DOFs::Y, and DOFs::Z.
|
private |
Definition at line 55 of file TwoTrackMinimumDistanceHelixLine.h.
Referenced by geometryXMLparser.Alignable::covariance().
|
private |
Definition at line 51 of file TwoTrackMinimumDistanceHelixLine.h.
|
private |
Definition at line 51 of file TwoTrackMinimumDistanceHelixLine.h.
|
private |
Definition at line 55 of file TwoTrackMinimumDistanceHelixLine.h.
Referenced by geometryXMLparser.Alignable::covariance().
|
private |
Definition at line 55 of file TwoTrackMinimumDistanceHelixLine.h.
Referenced by geometryXMLparser.Alignable::covariance().
|
private |
Definition at line 55 of file TwoTrackMinimumDistanceHelixLine.h.
|
private |
Definition at line 55 of file TwoTrackMinimumDistanceHelixLine.h.
|
private |
Definition at line 55 of file TwoTrackMinimumDistanceHelixLine.h.
|
private |
Definition at line 48 of file TwoTrackMinimumDistanceHelixLine.h.
|
mutableprivate |
Definition at line 62 of file TwoTrackMinimumDistanceHelixLine.h.
|
mutableprivate |
Definition at line 61 of file TwoTrackMinimumDistanceHelixLine.h.
|
private |
Definition at line 54 of file TwoTrackMinimumDistanceHelixLine.h.
|
mutableprivate |
Definition at line 62 of file TwoTrackMinimumDistanceHelixLine.h.
|
mutableprivate |
Definition at line 61 of file TwoTrackMinimumDistanceHelixLine.h.
|
private |
Definition at line 54 of file TwoTrackMinimumDistanceHelixLine.h.
|
mutableprivate |
Definition at line 63 of file TwoTrackMinimumDistanceHelixLine.h.
|
private |
Definition at line 49 of file TwoTrackMinimumDistanceHelixLine.h.
|
private |
Definition at line 51 of file TwoTrackMinimumDistanceHelixLine.h.
|
private |
Definition at line 51 of file TwoTrackMinimumDistanceHelixLine.h.
|
private |
Definition at line 51 of file TwoTrackMinimumDistanceHelixLine.h.
|
private |
Definition at line 51 of file TwoTrackMinimumDistanceHelixLine.h.
|
private |
Definition at line 51 of file TwoTrackMinimumDistanceHelixLine.h.
|
private |
Definition at line 51 of file TwoTrackMinimumDistanceHelixLine.h.
|
private |
Definition at line 48 of file TwoTrackMinimumDistanceHelixLine.h.
|
private |
Definition at line 52 of file TwoTrackMinimumDistanceHelixLine.h.
|
private |
Definition at line 48 of file TwoTrackMinimumDistanceHelixLine.h.
|
private |
Definition at line 52 of file TwoTrackMinimumDistanceHelixLine.h.
|
private |
Definition at line 48 of file TwoTrackMinimumDistanceHelixLine.h.
|
private |
Definition at line 50 of file TwoTrackMinimumDistanceHelixLine.h.
|
private |
Definition at line 57 of file TwoTrackMinimumDistanceHelixLine.h.
|
private |
Definition at line 53 of file TwoTrackMinimumDistanceHelixLine.h.
|
private |
Definition at line 52 of file TwoTrackMinimumDistanceHelixLine.h.
|
private |
Definition at line 52 of file TwoTrackMinimumDistanceHelixLine.h.
|
private |
Definition at line 52 of file TwoTrackMinimumDistanceHelixLine.h.
|
mutableprivate |
Definition at line 62 of file TwoTrackMinimumDistanceHelixLine.h.
|
private |
Definition at line 51 of file TwoTrackMinimumDistanceHelixLine.h.
Referenced by svgfig.Curve.Sample::__repr__().
|
private |
Definition at line 51 of file TwoTrackMinimumDistanceHelixLine.h.
|
private |
Definition at line 51 of file TwoTrackMinimumDistanceHelixLine.h.