void | cosines(Float_t, Float_t, Double_t*) |
Bool_t | decompose(TMatrixD& lu, Double_t& sign, Double_t tol, Int_t& nrZeros) |
void | derive(Double_t*, Int_t) |
Float_t | distance(Double_t*, Double_t*) |
Bool_t | findIntersectionPoint(Double_t*, Double_t*, Double_t*, Double_t*, Double_t*) |
void | findMdcIntersectionPoint(Double_t*, Double_t*, Int_t, Double_t*) |
Bool_t | fitMdc() |
void | gentrkNew(Float_t, Double_t*, Double_t*, Double_t*, Int_t) |
void | initMom() |
Bool_t | linSys() |
void | parSetNew0(Float_t, Float_t, Int_t) |
void | parSetNewVar(Float_t, Float_t) |
void | rkeqfw(Double_t*, Float_t, Double_t*, Float_t*) |
Float_t | rkgtrk(Float_t, Float_t, Double_t*, Double_t*, Int_t kind = 0) |
Float_t | chi2 | normalized chi^2 after RK-fit |
Double_t | dirAtFirstMDC[3] | fitted direction at first MDC |
Double_t | dirAtLastMDC[3] | fitted direction at last MDC |
Float_t | dpar[5] | variations (momentum, xdir, ydir, xpos, ypos) |
Double_t | dydpar[5][8] | derivatives |
Double_t | dzfacMdc[2][6] | factor to calculate dz from dy in the first two MDC planes |
HMdcTrackGField* | fieldMap | pointer to field map |
Double_t | fieldScalFact | factor of the magnetic field strength |
Double_t | fit[4][3] | hits and fitted points at mdc's |
Double_t | fit1h[4][3] | |
Double_t | fit1v[4][3] | fitted positions for derivatives |
Double_t | fitdh[4][3] | |
Double_t | fitdp[4][3] | |
Double_t | fitdv[4][3] | |
Double_t | fitpar[5] | fit parameters |
Double_t | hit[4][3] | |
Float_t | initialStepSize | initial RK step size |
Int_t | jstep | step number |
Double_t | mTol | ! tolerance for invertion of matrix (default : DBL_EPSILON) |
Double_t | maxDist | maximum distance for straight line approximation |
Int_t | maxNumSteps | maximum number of steps |
Float_t | maxPrecision | maximum required precision for a single step |
Float_t | maxStepSize | maximum stepsize |
Bool_t | mdcInstalled[4][6] | remembers which MDCs have known geometry |
Int_t | mdcLookup[4] | index in mdcModules for all 4 modules |
Int_t | mdcModules[4] | module number in hit/fit |
Double_t | mdcPos[4][6][3] | real position of mdc's in sector coordinate system |
Float_t | minPrecision | minimum required precision for a single step |
Float_t | minStepSize | minimum stepsize |
Int_t | nMaxMod | maximum hit module number (3 or 4) |
Int_t | ndf | number of degrees of freedom |
Double_t | normVecMdc[4][6][3] | normal vector on each Mdc module in sector coordinate system |
Double_t | p0Guess | initial momentum |
Float_t | pfit | momentum after RK-fit |
Double_t | phiSeg1 | fitted data for inner segment |
Double_t | phiSeg2 | fitted data for outer segment |
Double_t | pointForVertexRec[6][3] | point on virtual plane in front of MDC1 used for vertex reconstruction |
Float_t | polbending | polarity of bending (field scaling factor * pfit) |
Double_t | posNearLastMDC[3] | fitted direction at last MDC |
Double_t | rSeg1 | |
Double_t | rSeg2 | |
Float_t | resolution[8] | resolution |
Int_t | sector | sector index |
Float_t | sig[8] | sigmas for hit points |
Float_t | stepSizeAtLastMDC | RK step size at last MDC |
Float_t | stepSizeDec | factor to decrease stepsize |
Float_t | stepSizeInc | factor to increase stepsize |
Double_t | thetaSeg1 | |
Double_t | thetaSeg2 | |
Float_t | trackLength | track length |
Float_t | trackLengthAtLastMDC | track length from target to last MDC |
Double_t | trackPosOnMETA[3] | fitted trajectory point on META |
Double_t | ydata[8] | difference between fitted and measured hit positions |
Double_t | zSeg1 | |
Double_t | zSeg2 |
sets the MDC module position in the sector coordinate system calculates the normal vector on the planes
Input: position and direction of the two segments u1 and u2 array with multiplication factors for errors sector number, initial guess for momentum From the segments the hit positions are calculated. If the multiplication factors for errors of a hit -1, the hit is discarded. Calls fitMdc for Runge-Kutta track propagation and fitting
RK propagation with initial or last fit parameters uv - vertical direction in MDC1 uh - horizontal direction
calculates the derivatives (RK propagation with parameter variations) uv - vertical direction uh - horizontal direction in MDC1
propages the track through the MDC system p == momentum upos == initial position udir == initial direction hitxyz == hits in chambers kind == type of variation
one step of track tracing from the position upos in the direction of udir
propogates the track backwards from first MDC till Z=zVertex plane should be called only after RK-minimisation is done
propagates the track from the last fitted MDC position till track intersection with META plane (is defined by META-hit and normal vector to rod's plane should be called only after RK-minimisation is done
upos, udir - "moving point" current position and movement direction vector planeR0[3] some point on the plane to which intersection is supposed to happen planeNorm[3] perpendicular vector to the plane pointIntersect[3] - output - the intersection point of "moving point" with plane
THis part is copid from ROOT TDecompLU::Decompose() to get rid of error message! Crout/Doolittle algorithm of LU decomposing a square matrix, with implicit partial pivoting. The decomposition is stored in fLU: U is explicit in the upper triag and L is in multiplier form in the subdiagionals . Row permutations are mapped out in fIndex. fSign, used for calculating the determinant, is +/- 1 for even/odd row permutations. .
hit points on MDC (from segments) in Segment Coord System, Mdc={1,2,3,4}
position and direction on first MDC after RungeKutta fit
{ return fit[0][0]; }
position and direction on META after RungeKutta fit
{ return trackPosOnMETA[0];}