|
OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
|
#include <TrimCoilBFit.h>
Public Member Functions | |
| TrimCoilBFit (double bmax, double rmin, double rmax, const std::vector< double > &coefnum, const std::vector< double > &coefdenom, const std::vector< double > &coefnumphi, const std::vector< double > &coefdenomphi) | |
| virtual | ~TrimCoilBFit () |
| void | applyField (const double r, const double z, const double phi_rad, double *br, double *bz) |
| void | setAzimuth (const double phimin, const double phimax) |
| Set azimuthal range where trim coil acts: [phimin, phimax] (also when phimin > phimax). | |
Protected Types | |
| enum | PolynomType { NUM , DENOM , NUMPHI , DENOMPHI } |
| enum | FunctionType { RADIUS =0 , PHI =2 } |
Protected Member Functions | |
| void | calculateRationalFunction (FunctionType, double value, double ", double &der_quot) const |
| calculate rational function and its first derivative | |
| void | calculateRationalFunction (FunctionType, double value, double ", double &der_quot, double &der2_quot) const |
| calculate rational function and its first and second derivative | |
Protected Attributes | |
| double | bmax_m |
| Maximum B field (kG). | |
| double | rmin_m |
| Minimum radius (m). | |
| double | rmax_m |
| Maximum radius (m). | |
| double | phimin_m = 0.0 |
| Minimal azimuth (rad). | |
| double | phimax_m = Physics::two_pi |
| Maximal azimuth (rad). | |
Private Member Functions | |
| TrimCoilBFit ()=delete | |
| virtual void | doApplyField (const double r, const double z, const double phi_rad, double *br, double *bz) |
| virtual implementation of applyField | |
Private Attributes | |
| std::vector< std::vector< double > > | coefs |
| rational function coefficients | |
Definition at line 32 of file TrimCoilBFit.h.
|
protectedinherited |
| Enumerator | |
|---|---|
| RADIUS | |
| PHI | |
Definition at line 47 of file TrimCoilFit.h.
|
protectedinherited |
| Enumerator | |
|---|---|
| NUM | |
| DENOM | |
| NUMPHI | |
| DENOMPHI | |
Definition at line 46 of file TrimCoilFit.h.
| TrimCoilBFit::TrimCoilBFit | ( | double | bmax, |
| double | rmin, | ||
| double | rmax, | ||
| const std::vector< double > & | coefnum, | ||
| const std::vector< double > & | coefdenom, | ||
| const std::vector< double > & | coefnumphi, | ||
| const std::vector< double > & | coefdenomphi ) |
Definition at line 27 of file TrimCoilBFit.cpp.
References TrimCoilFit::TrimCoilFit().
|
inlinevirtual |
Definition at line 43 of file TrimCoilBFit.h.
|
privatedelete |
|
inherited |
Apply the trim coil at position r and z to Bfields br and bz Calls virtual doApplyField
Definition at line 43 of file TrimCoil.cpp.
References Util::angle_0to2pi(), Util::angleBetweenAngles(), bmax_m, doApplyField(), phimax_m, and phimin_m.
|
protectedinherited |
calculate rational function and its first derivative
Definition at line 57 of file TrimCoilFit.cpp.
References coefs.
Referenced by TrimCoilBFit::doApplyField(), and TrimCoilPhaseFit::doApplyField().
|
protectedinherited |
calculate rational function and its first and second derivative
Definition at line 90 of file TrimCoilFit.cpp.
References coefs.
|
privatevirtual |
virtual implementation of applyField
Implements TrimCoil.
Definition at line 37 of file TrimCoilBFit.cpp.
References TrimCoil::bmax_m, TrimCoilFit::calculateRationalFunction(), TrimCoilFit::PHI, TrimCoilFit::RADIUS, and TrimCoil::rmax_m.
|
inherited |
Set azimuthal range where trim coil acts: [phimin, phimax] (also when phimin > phimax).
Definition at line 53 of file TrimCoil.cpp.
References Util::angle_0to2pi(), Units::deg2rad, phimax_m, and phimin_m.
|
protectedinherited |
Maximum B field (kG).
Definition at line 45 of file TrimCoil.h.
Referenced by applyField(), TrimCoilBFit::doApplyField(), TrimCoilMirrored::doApplyField(), TrimCoilPhaseFit::doApplyField(), and TrimCoil().
|
privateinherited |
rational function coefficients
Definition at line 58 of file TrimCoilFit.h.
Referenced by calculateRationalFunction(), calculateRationalFunction(), and TrimCoilFit().
|
protectedinherited |
Maximal azimuth (rad).
Definition at line 53 of file TrimCoil.h.
Referenced by applyField(), and setAzimuth().
|
protectedinherited |
Minimal azimuth (rad).
Definition at line 51 of file TrimCoil.h.
Referenced by applyField(), and setAzimuth().
|
protectedinherited |
Maximum radius (m).
Definition at line 49 of file TrimCoil.h.
Referenced by TrimCoilBFit::doApplyField(), TrimCoilMirrored::doApplyField(), TrimCoilPhaseFit::doApplyField(), and TrimCoil().
|
protectedinherited |
Minimum radius (m).
Definition at line 47 of file TrimCoil.h.
Referenced by TrimCoilMirrored::doApplyField(), and TrimCoil().