OPAL (Object Oriented Parallel Accelerator Library) 2022.1
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
6class FM1DProfile2: public Fieldmap {
7
8public:
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
20private:
21 FM1DProfile2(std::string aFilename);
23
24 virtual void readMap();
25 virtual void freeMap();
26
29
34
40
42
43 double length_m;
45
48 double xExit_m;
49
52 double zExit_m;
53
57
58 friend class Fieldmap;
59};
60
61namespace 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)
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