OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
OPAL
FM1DProfile2.h
Go to the documentation of this file.
1 #ifndef CLASSIC_FIELDMAP1DPROFILE2_HH
2 #define CLASSIC_FIELDMAP1DPROFILE2_HH
3 
4 #include "Fields/Fieldmap.h"
5 
6 class FM1DProfile2: public Fieldmap {
7 
8 public:
9  virtual bool getFieldstrength(const Vector_t &X, Vector_t &strength, Vector_t &info) const;
10  virtual bool getFieldDerivative(const Vector_t &X, Vector_t &E, Vector_t &B, const DiffDirection &dir) const;
11  virtual void getFieldDimensions(double &zBegin, double &zEnd) const;
12  virtual void getFieldDimensions(double &xIni, double &xFinal, double &yIni, double &yFinal, double &zIni, double &zFinal) const;
13  virtual void swap();
14  virtual void getInfo(Inform *);
15  virtual double getFrequency() const;
16  virtual void setFrequency(double freq);
17  virtual void setExitFaceSlope(const double &);
18  virtual void setEdgeConstants(const double &bendAngle, const double &entranceAngle, const double &exitAngle);
19 
20 private:
21  FM1DProfile2(std::string aFilename);
22  ~FM1DProfile2();
23 
24  virtual void readMap();
25  virtual void freeMap();
26 
29 
31  double zend_entry_m;
34 
35  double exit_slope_m;
36  double zbegin_exit_m;
37  double zend_exit_m;
40 
42 
43  double length_m;
44  double gapHeight_m;
45 
48  double xExit_m;
49 
52  double zExit_m;
53 
57 
58  friend class Fieldmap;
59 };
60 
61 namespace QRDecomposition {
62  void solve(double *Matrix, double *Solution, double *rightHandSide, const int &M, const int &N);
63 }
64 
65 #endif
DiffDirection
Definition: Fieldmap.h:54
#define X(arg)
Definition: fftpack.cpp:112
void solve(double *Matrix, double *Solution, double *rightHandSide, const int &M, const int &N)
bool info
Info flag.
Definition: Options.cpp:28
Matrix.
Definition: Matrix.h:39
double zend_entry_m
Definition: FM1DProfile2.h:31
double cosExitRotation_m
Cos and sin of the exit edge rotation with respect to the local coordinates.
Definition: FM1DProfile2.h:55
double zend_exit_m
Definition: FM1DProfile2.h:37
double polynomialOrigin_entry_m
Definition: FM1DProfile2.h:32
double * EngeCoefs_entry_m
Definition: FM1DProfile2.h:27
virtual double getFrequency() const
double polynomialOrigin_exit_m
Definition: FM1DProfile2.h:38
double sinExitRotation_m
Definition: FM1DProfile2.h:56
FM1DProfile2(std::string aFilename)
Definition: FM1DProfile2.cpp:9
double zbegin_entry_m
Definition: FM1DProfile2.h:30
double zbegin_exit_m
Definition: FM1DProfile2.h:36
int polynomialOrder_entry_m
Definition: FM1DProfile2.h:33
virtual void setFrequency(double freq)
double * EngeCoefs_exit_m
Definition: FM1DProfile2.h:28
int polynomialOrder_exit_m
Definition: FM1DProfile2.h:39
virtual bool getFieldstrength(const Vector_t &X, Vector_t &strength, Vector_t &info) const
virtual void swap()
double gapHeight_m
Definition: FM1DProfile2.h:44
virtual bool getFieldDerivative(const Vector_t &X, Vector_t &E, Vector_t &B, const DiffDirection &dir) const
double exit_slope_m
Definition: FM1DProfile2.h:35
double xExit_m
Definition: FM1DProfile2.h:48
virtual void readMap()
virtual void setEdgeConstants(const double &bendAngle, const double &entranceAngle, const double &exitAngle)
virtual void getFieldDimensions(double &zBegin, double &zEnd) const
virtual void setExitFaceSlope(const double &)
bool rectangular_m
Definition: FM1DProfile2.h:41
double zExit_m
Definition: FM1DProfile2.h:52
double length_m
Definition: FM1DProfile2.h:43
virtual void freeMap()
virtual void getInfo(Inform *)
Definition: Inform.h:42