OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
TrimCoil.h
Go to the documentation of this file.
1 #ifndef TRIM_COIL_H
2 #define TRIM_COIL_H
3 
4 #include "Physics/Physics.h"
5 
7 
8 class TrimCoil {
9 
10 public:
11 
12  TrimCoil(double bmax, double rmin, double rmax);
15  void applyField(const double r, const double z, const double phi_rad, double *br, double *bz);
17  void setAzimuth(const double phimin, const double phimax);
18  virtual ~TrimCoil() { };
19 
20 protected:
21 
23  double bmax_m;
25  double rmin_m;
27  double rmax_m;
29  double phimin_m = 0.0;
32 
33 private:
34 
36  virtual void doApplyField(const double r, const double z, const double phi_rad, double *br, double *bz) = 0;
37 };
38 
39 #endif //TRIM_COIL_H
double phimax_m
Maximal azimuth (rad)
Definition: TrimCoil.h:31
double bmax_m
Maximum B field (kG)
Definition: TrimCoil.h:18
constexpr double two_pi
The value of .
Definition: Physics.h:34
TrimCoil(double bmax, double rmin, double rmax)
Definition: TrimCoil.cpp:7
double rmax_m
Maximum radius (m)
Definition: TrimCoil.h:27
virtual ~TrimCoil()
Definition: TrimCoil.h:18
Abstract TrimCoil class.
Definition: TrimCoil.h:8
void setAzimuth(const double phimin, const double phimax)
Set azimuthal range.
Definition: TrimCoil.cpp:28
void applyField(const double r, const double z, const double phi_rad, double *br, double *bz)
Definition: TrimCoil.cpp:19
double rmin_m
Minimum radius (m)
Definition: TrimCoil.h:25
double phimin_m
Minimal azimuth (rad)
Definition: TrimCoil.h:29
virtual void doApplyField(const double r, const double z, const double phi_rad, double *br, double *bz)=0
virtual implementation of applyField