OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
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, double &rBegin, double &rEnd) 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
virtual void getFieldDimensions(double &zBegin, double &zEnd, double &rBegin, double &rEnd) const
double gapHeight_m
Definition: FM1DProfile2.h:44
double cosExitRotation_m
Cos and sin of the exit edge rotation with respect to the local coordinates.
Definition: FM1DProfile2.h:55
double polynomialOrigin_exit_m
Definition: FM1DProfile2.h:38
virtual bool getFieldDerivative(const Vector_t &X, Vector_t &E, Vector_t &B, const DiffDirection &dir) const
double sinExitRotation_m
Definition: FM1DProfile2.h:56
DiffDirection
Definition: Fieldmap.h:54
FM1DProfile2(std::string aFilename)
Definition: rbendmap.h:8
virtual void getInfo(Inform *)
virtual void freeMap()
double * EngeCoefs_exit_m
Definition: FM1DProfile2.h:28
bool info
Info flag.
Definition: Options.cpp:8
int polynomialOrder_entry_m
Definition: FM1DProfile2.h:33
double length_m
Definition: FM1DProfile2.h:43
double exit_slope_m
Definition: FM1DProfile2.h:35
double zbegin_entry_m
Definition: FM1DProfile2.h:30
bool rectangular_m
Definition: FM1DProfile2.h:41
double zbegin_exit_m
Definition: FM1DProfile2.h:36
virtual double getFrequency() const
virtual void swap()
double polynomialOrigin_entry_m
Definition: FM1DProfile2.h:32
double zend_exit_m
Definition: FM1DProfile2.h:37
virtual void setExitFaceSlope(const double &)
double * EngeCoefs_entry_m
Definition: FM1DProfile2.h:27
double zExit_m
Definition: FM1DProfile2.h:52
Matrix.
Definition: Matrix.h:38
virtual void readMap()
virtual void setFrequency(double freq)
virtual void setEdgeConstants(const double &bendAngle, const double &entranceAngle, const double &exitAngle)
double zend_entry_m
Definition: FM1DProfile2.h:31
void solve(double *Matrix, double *Solution, double *rightHandSide, const int &M, const int &N)
Definition: Inform.h:41
int polynomialOrder_exit_m
Definition: FM1DProfile2.h:39
virtual bool getFieldstrength(const Vector_t &X, Vector_t &strength, Vector_t &info) const
double xExit_m
Definition: FM1DProfile2.h:48