OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
Public Member Functions | Protected Attributes | Private Member Functions | List of all members
TrimCoil Class Referenceabstract

#include <TrimCoil.h>

Inheritance diagram for TrimCoil:
Inheritance graph
[legend]

Public Member Functions

 TrimCoil (double bmax, double rmin, double rmax)
 
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. More...
 
virtual ~TrimCoil ()
 

Protected Attributes

double bmax_m
 Maximum B field (kG) More...
 
double rmin_m
 Minimum radius (m) More...
 
double rmax_m
 Maximum radius (m) More...
 
double phimin_m = 0.0
 Minimal azimuth (rad) More...
 
double phimax_m = Physics::two_pi
 Maximal azimuth (rad) More...
 

Private Member Functions

virtual void doApplyField (const double r, const double z, const double phi_rad, double *br, double *bz)=0
 virtual implementation of applyField More...
 

Detailed Description

Definition at line 30 of file TrimCoil.h.

Constructor & Destructor Documentation

◆ TrimCoil()

TrimCoil::TrimCoil ( double  bmax,
double  rmin,
double  rmax 
)

Definition at line 31 of file TrimCoil.cpp.

References bmax_m, Units::mm2m, rmax_m, and rmin_m.

◆ ~TrimCoil()

virtual TrimCoil::~TrimCoil ( )
inlinevirtual

Definition at line 40 of file TrimCoil.h.

Member Function Documentation

◆ applyField()

void TrimCoil::applyField ( const double  r,
const double  z,
const double  phi_rad,
double *  br,
double *  bz 
)

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 abs(), bmax_m, doApplyField(), Physics::e, phimax_m, and phimin_m.

Here is the call graph for this function:

◆ doApplyField()

virtual void TrimCoil::doApplyField ( const double  r,
const double  z,
const double  phi_rad,
double *  br,
double *  bz 
)
privatepure virtual

virtual implementation of applyField

Implemented in TrimCoilBFit, TrimCoilMirrored, and TrimCoilPhaseFit.

Referenced by applyField().

◆ setAzimuth()

void TrimCoil::setAzimuth ( const double  phimin,
const double  phimax 
)

Set azimuthal range.

Definition at line 52 of file TrimCoil.cpp.

References Units::deg2rad, phimax_m, and phimin_m.

Member Data Documentation

◆ bmax_m

double TrimCoil::bmax_m
protected

Maximum B field (kG)

Definition at line 45 of file TrimCoil.h.

Referenced by applyField(), TrimCoilBFit::doApplyField(), TrimCoilPhaseFit::doApplyField(), and TrimCoil().

◆ phimax_m

double TrimCoil::phimax_m = Physics::two_pi
protected

Maximal azimuth (rad)

Definition at line 53 of file TrimCoil.h.

Referenced by applyField(), and setAzimuth().

◆ phimin_m

double TrimCoil::phimin_m = 0.0
protected

Minimal azimuth (rad)

Definition at line 51 of file TrimCoil.h.

Referenced by applyField(), and setAzimuth().

◆ rmax_m

double TrimCoil::rmax_m
protected

Maximum radius (m)

Definition at line 49 of file TrimCoil.h.

Referenced by TrimCoilBFit::doApplyField(), TrimCoilMirrored::doApplyField(), TrimCoilPhaseFit::doApplyField(), and TrimCoil().

◆ rmin_m

double TrimCoil::rmin_m
protected

Minimum radius (m)

Definition at line 47 of file TrimCoil.h.

Referenced by TrimCoilMirrored::doApplyField(), and TrimCoil().


The documentation for this class was generated from the following files: