OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
OPAL
Public Member Functions | Protected Types | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
TrimCoilFit Class Reference

#include <TrimCoilFit.h>

Inheritance diagram for TrimCoilFit:
Inheritance graph
[legend]
Collaboration diagram for TrimCoilFit:
Collaboration graph
[legend]

Public Member Functions

 TrimCoilFit (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 ~TrimCoilFit ()
 
- Public Member Functions inherited from TrimCoil
 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 Types

enum  PolynomType { NUM , DENOM , NUMPHI , DENOMPHI }
 
enum  FunctionType { RADIUS =0 , PHI =2 }
 

Protected Member Functions

void calculateRationalFunction (FunctionType, double value, double &quot, double &der_quot) const
 calculate rational function and its first derivative More...
 
void calculateRationalFunction (FunctionType, double value, double &quot, double &der_quot, double &der2_quot) const
 calculate rational function and its first and second derivative More...
 

Private Member Functions

 TrimCoilFit ()=delete
 

Private Attributes

std::vector< std::vector< double > > coefs
 rational function coefficients More...
 

Additional Inherited Members

- Protected Attributes inherited from TrimCoil
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...
 

Detailed Description

Definition at line 32 of file TrimCoilFit.h.

Member Enumeration Documentation

◆ FunctionType

enum TrimCoilFit::FunctionType
protected
Enumerator
RADIUS 
PHI 

Definition at line 47 of file TrimCoilFit.h.

◆ PolynomType

enum TrimCoilFit::PolynomType
protected
Enumerator
NUM 
DENOM 
NUMPHI 
DENOMPHI 

Definition at line 46 of file TrimCoilFit.h.

Constructor & Destructor Documentation

◆ TrimCoilFit() [1/2]

TrimCoilFit::TrimCoilFit ( 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 29 of file TrimCoilFit.cpp.

References coefs, DENOM, DENOMPHI, NUM, and NUMPHI.

◆ ~TrimCoilFit()

virtual TrimCoilFit::~TrimCoilFit ( )
inlinevirtual

Definition at line 43 of file TrimCoilFit.h.

◆ TrimCoilFit() [2/2]

TrimCoilFit::TrimCoilFit ( )
privatedelete

Member Function Documentation

◆ calculateRationalFunction() [1/2]

void TrimCoilFit::calculateRationalFunction ( FunctionType  type,
double  value,
double &  quot,
double &  der_quot 
) const
protected

calculate rational function and its first derivative

Definition at line 57 of file TrimCoilFit.cpp.

References coefs.

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

◆ calculateRationalFunction() [2/2]

void TrimCoilFit::calculateRationalFunction ( FunctionType  type,
double  value,
double &  quot,
double &  der_quot,
double &  der2_quot 
) const
protected

calculate rational function and its first and second derivative

Definition at line 90 of file TrimCoilFit.cpp.

References coefs.

Member Data Documentation

◆ coefs

std::vector<std::vector<double> > TrimCoilFit::coefs
private

rational function coefficients

Definition at line 58 of file TrimCoilFit.h.

Referenced by calculateRationalFunction(), and TrimCoilFit().


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