30 |
*/ |
*/ |
31 |
int Trajectory::DoTrack2(float* al){ |
int Trajectory::DoTrack2(float* al){ |
32 |
|
|
33 |
double *dxout = new double[t->npoint]; |
double *dxout = new double[npoint]; |
34 |
double *dyout = new double[t->npoint]; |
double *dyout = new double[npoint]; |
35 |
double *dthxout = new double[t->npoint]; |
double *dthxout = new double[npoint]; |
36 |
double *dthyout = new double[t->npoint]; |
double *dthyout = new double[npoint]; |
37 |
double *dtlout = new double[t->npoint]; |
double *dtlout = new double[npoint]; |
38 |
double *dzin = new double[t->npoint]; |
double *dzin = new double[npoint]; |
39 |
double dal[5]; |
double dal[5]; |
40 |
|
|
41 |
int ifail = 0; |
int ifail = 0; |
42 |
|
|
43 |
for (int i=0; i<5; i++) dal[i] = (double)al[i]; |
for (int i=0; i<5; i++) dal[i] = (double)al[i]; |
44 |
for (int i=0; i<t->npoint; i++) dzin[i] = (double)z[i]; |
for (int i=0; i<npoint; i++) dzin[i] = (double)z[i]; |
45 |
|
|
46 |
dotrack2_(&(t->npoint),dzin,dxout,dyout,dthxout,dthyout,dtlout,dal,&ifail); |
dotrack2_(&(npoint),dzin,dxout,dyout,dthxout,dthyout,dtlout,dal,&ifail); |
47 |
|
|
48 |
for (int i=0; i<t->npoint; i++){ |
for (int i=0; i<npoint; i++){ |
49 |
x[i] = (float)*dxout++; |
x[i] = (float)*dxout++; |
50 |
y[i] = (float)*dyout++; |
y[i] = (float)*dyout++; |
51 |
thx[i] = (float)*dthxout++; |
thx[i] = (float)*dthxout++; |