6 const std::vector<double>& coefnum,
7 const std::vector<double>& coefdenom,
8 const std::vector<double>& coefnumphi,
9 const std::vector<double>& coefdenomphi):
10 TrimCoilFit(bmax, rmin, rmax, coefnum, coefdenom, coefnumphi, coefdenomphi)
16 if (r < rmin_m || r >
rmax_m)
return;
18 double phase=0.0, d_phase=0.0, d2_phase=0.0;
20 double phi = 0.0, d_phi = 0.0, d2_phi=0.0;
24 double derivative = d_phase * phi + phase * d_phi;
25 double der2 = d2_phase * phi + phase * d2_phi + 2*d_phi*d_phase;
27 *bz += -
bmax_m * derivative;
28 *br += -
bmax_m * der2 * z;
virtual void doApplyField(const double r, const double z, const double phi_rad, double *br, double *bz)
virtual implementation of applyField
double bmax_m
Maximum B field (kG)
double rmax_m
Maximum radius (m)
TrimCoilPhaseFit()=delete
void calculateRationalFunction(FunctionType, double value, double ", double &der_quot) const
calculate rational function and its first derivative