forked from skutsaev/hellweg2d
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGeometryForm.h
More file actions
106 lines (100 loc) · 2.93 KB
/
GeometryForm.h
File metadata and controls
106 lines (100 loc) · 2.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
//---------------------------------------------------------------------------
#ifndef GeometryFormH
#define GeometryFormH
//---------------------------------------------------------------------------
#include <System.Classes.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.StdCtrls.hpp>
#include <Vcl.Forms.hpp>
#include <Vcl.ExtCtrls.hpp>
#include <Vcl.Dialogs.hpp>
#include <Vcl.Menus.hpp>
#include <VCLTee.Chart.hpp>
#include <VCLTee.Series.hpp>
#include <VclTee.TeeGDIPlus.hpp>
#include <VCLTee.TeEngine.hpp>
#include <VCLTee.TeeProcs.hpp>
#include "Types.h"
#include "BeamSolver.h"
//Geometry Chart
#define betta_chart 0
#define A_chart 1
#define ELP_chart 2
#define B_chart 3
#define alpha_chart 4
#define Ra_chart 5
#define Bz_chart 6
//Beam Chart
#define emittance_chart 0
#define portrait_chart 1
#define section_chart 2
#define energy_chart 3
#define phase_chart 4
//Envelope Chart
#define ellipse_env 0
//---------------------------------------------------------------------------
class TGeomForm : public TForm
{
__published: // IDE-managed Components
TPanel *BottomPanel;
TPanel *WorkPanel;
TPanel *RightPanel;
TPanel *GraphPanel;
TChart *GChart;
TMainMenu *MainMenu1;
TMenuItem *File1;
TMenuItem *Exit1;
TGroupBox *CompBox1;
TCheckBox *Compare1;
TLabeledEdit *FileEdit1;
TButton *OpenButton1;
TOpenDialog *OpenDialog1;
TShape *LineColor1;
TLineSeries *Series2;
TRadioGroup *ChartGroup;
TLineSeries *Series1;
TRadioGroup *BeamGroup;
TPointSeries *BeamSeries1;
TCheckBox *EnvelopeCB;
TCheckBox *BeamBox;
TLineSeries *EnvelopeSeries1;
TGroupBox *ParametersGroup;
TBarSeries *BarSeries1;
TLabel *aParLabel;
TLabel *bParLabel;
TLabel *eParLabel;
TLabel *WavParLabel;
TLabel *dWParLabel;
TLabel *FavParLabel;
TLabel *dFParLabel;
TLabel *rParLabel;
void __fastcall FormShow(TObject *Sender);
void __fastcall Exit1Click(TObject *Sender);
void __fastcall OpenButton1Click(TObject *Sender);
void __fastcall FormCreate(TObject *Sender);
void __fastcall FormDestroy(TObject *Sender);
void __fastcall Compare1Click(TObject *Sender);
void __fastcall ChartGroupClick(TObject *Sender);
void __fastcall BeamGroupClick(TObject *Sender);
private: // User declarations
AnsiString Path;
TBeamSolver *CompData1;
bool C1;
int Np_max;
double h;
void DrawChart(TLineSeries *Series0,TBeamSolver *Solver,TColor Col1, TColor Col2);
void DrawBeam(TPointSeries *Series0,TBeamSolver *Solver,TColor Col1);
void DrawBeamEnvelope(TLineSeries *Series0,TBeamSolver *Solver,int env_type,TColor Col1);
void DrawBarChart(TBarSeries *Series0,TBeamSolver *Solver,TColor Col1);
void SignChart(TChartType ChartType);
void SetParameters();
void ClearParameters();
public: // User declarations
__fastcall TGeomForm(TComponent* Owner);
bool Beam;
TBeamSolver *MainSolver;
};
//---------------------------------------------------------------------------
extern PACKAGE TGeomForm *GeomForm;
//---------------------------------------------------------------------------
#endif