--- DarthVader/TrackerLevel2/src/TrkLevel2.cpp 2006/11/14 16:28:42 1.18 +++ DarthVader/TrackerLevel2/src/TrkLevel2.cpp 2006/11/15 15:19:34 1.19 @@ -21,42 +21,6 @@ // // //-------------------------------------- -/** - * Evaluates the trajectory in the apparatus associated to the track. - * It integrates the equations of motion in the magnetic field. The magnetic field should be previously loaded ( by calling TrkLevel2::LoadField() ), otherwise an error message is returned. - * @param t pointer to an object of the class Trajectory, - * which z coordinates should be previously initialized by calling the proper constructor ( Trajectory::Trajectory(int n, float* zin) ). - * @return error flag. - */ -int Trajectory::DoTrack2(float* al){ - - double *dxout = new double[npoint]; - double *dyout = new double[npoint]; - double *dthxout = new double[npoint]; - double *dthyout = new double[npoint]; - double *dtlout = new double[npoint]; - double *dzin = new double[npoint]; - double dal[5]; - - int ifail = 0; - - for (int i=0; i<5; i++) dal[i] = (double)al[i]; - for (int i=0; ial[i]; + for(int j=0; j<5; j++) coval[i][j]=track->cov[i][j]; + } + chi2 = track->chi2; + nstep = track->nstep; + for(int i=0; i<6; i++){ + xv[i] = track->xv[i]; + yv[i] = track->yv[i]; + zv[i] = track->zv[i]; + xm[i] = track->xm[i]; + ym[i] = track->ym[i]; + zm[i] = track->zm[i]; + axv[i] = track->axv[i]; + ayv[i] = track->ayv[i]; + } + + +} /** * Tracking method. It calls F77 mini routine. */ @@ -303,95 +331,54 @@ extern cMini2track track_; fail = 0; + FillMiniStruct(track_); - for(int i=0; i<6; i++) track_.xm[i]=xm[i]; - for(int i=0; i<6; i++) track_.ym[i]=ym[i]; - for(int i=0; i<6; i++) track_.zm[i]=zm[i]; - for(int i=0; i<6; i++) track_.resx[i]=resx[i]; - for(int i=0; i<6; i++) track_.resy[i]=resy[i]; - for(int i=0; i<6; i++) track_.xgood[i]=xgood[i]; - for(int i=0; i<6; i++) track_.ygood[i]=ygood[i]; - -// initial guess of "al" with linear fit -// if(al[0]==-9999.&&al[1]==-9999.&&al[2]==-9999.&&al[3]==-9999.&&al[4]==-9999.){ -// cout << "initial guess "< " << track_.al[4] << endl; - for(int i=0; i<5; i++) al[i]=track_.al[i]; - chi2=track_.chi2; - nstep=track_.nstep; - for(int i=0; i<6; i++) xv[i]=track_.xv[i]; - for(int i=0; i<6; i++) yv[i]=track_.yv[i]; - for(int i=0; i<6; i++) zv[i]=track_.zv[i]; - for(int i=0; i<6; i++) axv[i]=track_.axv[i]; - for(int i=0; i<6; i++) ayv[i]=track_.ayv[i]; - for(int i=0; i<5; i++) { - for(int j=0; j<5; j++) coval[i][j]=track_.cov[i][j]; - } +// for(int i=0; i<5; i++) al[i]=track_.al[i]; +// chi2=track_.chi2; +// nstep=track_.nstep; +// for(int i=0; i<6; i++) xv[i]=track_.xv[i]; +// for(int i=0; i<6; i++) yv[i]=track_.yv[i]; +// for(int i=0; i<6; i++) zv[i]=track_.zv[i]; +// for(int i=0; i<6; i++) axv[i]=track_.axv[i]; +// for(int i=0; i<6; i++) ayv[i]=track_.ayv[i]; +// for(int i=0; i<5; i++) { +// for(int j=0; j<5; j++) coval[i][j]=track_.cov[i][j]; +// } - if(fail){ - cout << " >>>> fit failed >>>> drawing initial par"<>>> fit failed >>>> drawing initial par"<