@@ -96,10 +96,10 @@ ExportMode struct elem *trackFunction(const atElem *ElemData,struct elem *Elem,
96
96
double energy , beta0 , gamma0 , betgam0 ;
97
97
double t0f , lag , phiref , nvx , nvy ;
98
98
long HarmNumber ;
99
- double SigPhi , SigVV ;
99
+ double Frequency , SigPhi , SigVV ;
100
100
101
101
if (!Elem ) {
102
- double Length , * Voltages , Energy , Frequency , TimeLag , PhaseLag ;
102
+ double Length , * Voltages , Energy , TimeLag , PhaseLag ;
103
103
Length = atGetDouble (ElemData ,"Length" ); check_error ();
104
104
Voltages = atGetDoubleArray (ElemData ,"Voltages" ); check_error ();
105
105
Frequency = atGetDouble (ElemData ,"Frequency" ); check_error ();
@@ -123,6 +123,7 @@ ExportMode struct elem *trackFunction(const atElem *ElemData,struct elem *Elem,
123
123
Elem -> SigVV = SigVV ;
124
124
}
125
125
else {
126
+ Frequency = Elem -> Frequency ;
126
127
SigPhi = Elem -> SigPhi ;
127
128
SigVV = Elem -> SigVV ;
128
129
}
@@ -137,8 +138,8 @@ ExportMode struct elem *trackFunction(const atElem *ElemData,struct elem *Elem,
137
138
betgam0 = gamma0 ;
138
139
beta0 = 1.0 ;
139
140
}
140
- t0f = Elem -> Frequency * Param -> T0 ;
141
- lag = TWOPI * Elem -> Frequency * Elem -> TimeLag /beta0 /C0 + Elem -> PhaseLag ;
141
+ t0f = Frequency * Param -> T0 ;
142
+ lag = TWOPI * Frequency * Elem -> TimeLag /beta0 /C0 + Elem -> PhaseLag ;
142
143
phiref = TWOPI * (t0f - Elem -> HarmNumber ) * Param -> nturn - lag ;
143
144
nvx = Elem -> Vx /energy /beta0 /beta0 ;
144
145
nvy = Elem -> Vy /energy /beta0 /beta0 ;
@@ -150,7 +151,7 @@ ExportMode struct elem *trackFunction(const atElem *ElemData,struct elem *Elem,
150
151
nvy *= atrandn_r (Param -> common_rng , 1.0 , SigVV );
151
152
}
152
153
153
- CrabCavityPass (r_in , Elem -> Length , nvx , nvy , Elem -> Frequency , betgam0 , phiref , num_particles );
154
+ CrabCavityPass (r_in , Elem -> Length , nvx , nvy , Frequency , betgam0 , phiref , num_particles );
154
155
return Elem ;
155
156
}
156
157
@@ -163,7 +164,7 @@ void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
163
164
{
164
165
if (nrhs >= 2 ) {
165
166
double betgam0 , beta0 , gamma0 ;
166
- double lag , phiref ;
167
+ double lag , phiref , nvx , nvy ;
167
168
double * r_in ;
168
169
double rest_energy = 0.0 ;
169
170
double charge = -1.0 ;
@@ -193,9 +194,9 @@ void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
193
194
}
194
195
lag = TWOPI * Frequency * TimeLag /beta0 /C0 + PhaseLag ;
195
196
phiref = - lag ;
196
- normvx = Voltages [0 ] / Energy / beta0 / beta0 ;
197
- normvy = Voltages [1 ] / Energy / beta0 / beta0 ;
198
- CrabCavityPass (r_in , Length , normvx , normvy , Frequency , betgam0 , phiref , num_particles );
197
+ nvx = Voltages [0 ] / Energy / beta0 / beta0 ;
198
+ nvy = Voltages [1 ] / Energy / beta0 / beta0 ;
199
+ CrabCavityPass (r_in , Length , nvx , nvy , Frequency , betgam0 , phiref , num_particles );
199
200
}
200
201
else if (nrhs == 0 ) {
201
202
plhs [0 ] = mxCreateCellMatrix (3 ,1 );
0 commit comments