CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
TwoTrackMinimumDistanceHelixLine Class Reference

#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
 
GlobalTrajectoryParametersfirstGTP
 
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
 
GlobalTrajectoryParameterssecondGTP
 
double thecosPhiH0
 
GlobalTrajectoryParameterstheH
 
double theh
 
GlobalTrajectoryParameterstheL
 
GlobalVector theLp
 
int themaxiter
 
double thePhiH
 
double thePhiH0
 
double thesinPhiH0
 
double thetanlambdaH
 
double tL
 
double X
 
double Y
 
double Z
 

Detailed Description

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.

Constructor & Destructor Documentation

TwoTrackMinimumDistanceHelixLine::TwoTrackMinimumDistanceHelixLine ( )
inline
TwoTrackMinimumDistanceHelixLine::~TwoTrackMinimumDistanceHelixLine ( )
inline

Definition at line 23 of file TwoTrackMinimumDistanceHelixLine.h.

23 {}

Member Function Documentation

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.

void TwoTrackMinimumDistanceHelixLine::finalPoints ( ) const
private

Definition at line 175 of file TwoTrackMinimumDistanceHelixLine.cc.

double TwoTrackMinimumDistanceHelixLine::firstAngle ( ) const

Definition at line 146 of file TwoTrackMinimumDistanceHelixLine.cc.

bool TwoTrackMinimumDistanceHelixLine::oneIteration ( double &  thePhiH,
double &  fct,
double &  derivative 
) const
private

Definition at line 80 of file TwoTrackMinimumDistanceHelixLine.cc.

pair< double, double > TwoTrackMinimumDistanceHelixLine::pathLength ( ) const

Definition at line 167 of file TwoTrackMinimumDistanceHelixLine.cc.

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.

double TwoTrackMinimumDistanceHelixLine::secondAngle ( ) const

Definition at line 152 of file TwoTrackMinimumDistanceHelixLine.cc.

bool TwoTrackMinimumDistanceHelixLine::updateCoeffs ( )
private

Definition at line 10 of file TwoTrackMinimumDistanceHelixLine.cc.

Member Data Documentation

double TwoTrackMinimumDistanceHelixLine::aa
private

Definition at line 55 of file TwoTrackMinimumDistanceHelixLine.h.

double TwoTrackMinimumDistanceHelixLine::baseDer
private

Definition at line 51 of file TwoTrackMinimumDistanceHelixLine.h.

double TwoTrackMinimumDistanceHelixLine::baseFct
private

Definition at line 51 of file TwoTrackMinimumDistanceHelixLine.h.

double TwoTrackMinimumDistanceHelixLine::bb
private

Definition at line 55 of file TwoTrackMinimumDistanceHelixLine.h.

double TwoTrackMinimumDistanceHelixLine::cc
private

Definition at line 55 of file TwoTrackMinimumDistanceHelixLine.h.

double TwoTrackMinimumDistanceHelixLine::dd
private

Definition at line 55 of file TwoTrackMinimumDistanceHelixLine.h.

double TwoTrackMinimumDistanceHelixLine::ee
private

Definition at line 55 of file TwoTrackMinimumDistanceHelixLine.h.

double TwoTrackMinimumDistanceHelixLine::ff
private

Definition at line 55 of file TwoTrackMinimumDistanceHelixLine.h.

GlobalTrajectoryParameters * TwoTrackMinimumDistanceHelixLine::firstGTP
private

Definition at line 48 of file TwoTrackMinimumDistanceHelixLine.h.

double TwoTrackMinimumDistanceHelixLine::helixPath
mutableprivate

Definition at line 62 of file TwoTrackMinimumDistanceHelixLine.h.

GlobalPoint TwoTrackMinimumDistanceHelixLine::helixPoint
mutableprivate

Definition at line 61 of file TwoTrackMinimumDistanceHelixLine.h.

double TwoTrackMinimumDistanceHelixLine::Hn
private

Definition at line 54 of file TwoTrackMinimumDistanceHelixLine.h.

double TwoTrackMinimumDistanceHelixLine::linePath
mutableprivate

Definition at line 62 of file TwoTrackMinimumDistanceHelixLine.h.

GlobalPoint TwoTrackMinimumDistanceHelixLine::linePoint
mutableprivate

Definition at line 61 of file TwoTrackMinimumDistanceHelixLine.h.

double TwoTrackMinimumDistanceHelixLine::Ln
private

Definition at line 54 of file TwoTrackMinimumDistanceHelixLine.h.

bool TwoTrackMinimumDistanceHelixLine::pointsUpdated
mutableprivate

Definition at line 63 of file TwoTrackMinimumDistanceHelixLine.h.

GlobalVector TwoTrackMinimumDistanceHelixLine::posDiff
private

Definition at line 49 of file TwoTrackMinimumDistanceHelixLine.h.

double TwoTrackMinimumDistanceHelixLine::px
private

Definition at line 51 of file TwoTrackMinimumDistanceHelixLine.h.

double TwoTrackMinimumDistanceHelixLine::px2
private

Definition at line 51 of file TwoTrackMinimumDistanceHelixLine.h.

double TwoTrackMinimumDistanceHelixLine::py
private

Definition at line 51 of file TwoTrackMinimumDistanceHelixLine.h.

double TwoTrackMinimumDistanceHelixLine::py2
private

Definition at line 51 of file TwoTrackMinimumDistanceHelixLine.h.

double TwoTrackMinimumDistanceHelixLine::pz
private

Definition at line 51 of file TwoTrackMinimumDistanceHelixLine.h.

double TwoTrackMinimumDistanceHelixLine::pz2
private

Definition at line 51 of file TwoTrackMinimumDistanceHelixLine.h.

GlobalTrajectoryParameters * TwoTrackMinimumDistanceHelixLine::secondGTP
private

Definition at line 48 of file TwoTrackMinimumDistanceHelixLine.h.

double TwoTrackMinimumDistanceHelixLine::thecosPhiH0
private

Definition at line 52 of file TwoTrackMinimumDistanceHelixLine.h.

GlobalTrajectoryParameters* TwoTrackMinimumDistanceHelixLine::theH
private

Definition at line 48 of file TwoTrackMinimumDistanceHelixLine.h.

double TwoTrackMinimumDistanceHelixLine::theh
private

Definition at line 52 of file TwoTrackMinimumDistanceHelixLine.h.

GlobalTrajectoryParameters * TwoTrackMinimumDistanceHelixLine::theL
private

Definition at line 48 of file TwoTrackMinimumDistanceHelixLine.h.

GlobalVector TwoTrackMinimumDistanceHelixLine::theLp
private

Definition at line 50 of file TwoTrackMinimumDistanceHelixLine.h.

int TwoTrackMinimumDistanceHelixLine::themaxiter
private

Definition at line 57 of file TwoTrackMinimumDistanceHelixLine.h.

double TwoTrackMinimumDistanceHelixLine::thePhiH
private

Definition at line 53 of file TwoTrackMinimumDistanceHelixLine.h.

double TwoTrackMinimumDistanceHelixLine::thePhiH0
private

Definition at line 52 of file TwoTrackMinimumDistanceHelixLine.h.

double TwoTrackMinimumDistanceHelixLine::thesinPhiH0
private

Definition at line 52 of file TwoTrackMinimumDistanceHelixLine.h.

double TwoTrackMinimumDistanceHelixLine::thetanlambdaH
private

Definition at line 52 of file TwoTrackMinimumDistanceHelixLine.h.

double TwoTrackMinimumDistanceHelixLine::tL
mutableprivate

Definition at line 62 of file TwoTrackMinimumDistanceHelixLine.h.

double TwoTrackMinimumDistanceHelixLine::X
private

Definition at line 51 of file TwoTrackMinimumDistanceHelixLine.h.

double TwoTrackMinimumDistanceHelixLine::Y
private

Definition at line 51 of file TwoTrackMinimumDistanceHelixLine.h.

double TwoTrackMinimumDistanceHelixLine::Z
private

Definition at line 51 of file TwoTrackMinimumDistanceHelixLine.h.