OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
TrimCoilFit.h
Go to the documentation of this file.
1 #ifndef TRIM_COILFIT_H
2 #define TRIM_COILFIT_H
3 
4 #include "TrimCoils/TrimCoil.h"
5 
6 #include <vector>
7 
10 
11 class TrimCoilFit : public TrimCoil {
12 
13 public:
14  TrimCoilFit(double bmax,
15  double rmin,
16  double rmax,
17  const std::vector<double>& coefnum,
18  const std::vector<double>& coefdenom,
19  const std::vector<double>& coefnumphi,
20  const std::vector<double>& coefdenomphi);
21 
22  virtual ~TrimCoilFit() {};
23 
24 protected:
26  enum FunctionType {RADIUS=0, PHI=2};
27 
29  void calculateRationalFunction(FunctionType, double value, double& quot, double& der_quot) const;
31  void calculateRationalFunction(FunctionType, double value, double& quot, double& der_quot, double& der2_quot) const;
32 
33 private:
34  TrimCoilFit() = delete;
35 
37  std::vector<std::vector<double>> coefs;
38 };
39 
40 #endif //TRIM_COILFIT_H
std::vector< std::vector< double > > coefs
rational function coefficients
Definition: TrimCoilFit.h:37
Abstract TrimCoil class.
Definition: TrimCoil.h:8
void calculateRationalFunction(FunctionType, double value, double &quot, double &der_quot) const
calculate rational function and its first derivative
Definition: TrimCoilFit.cpp:33
TrimCoilFit()=delete
virtual ~TrimCoilFit()
Definition: TrimCoilFit.h:22