ODIN
pulsarview.h
1 /***************************************************************************
2  pulsarview.h - description
3  -------------------
4  begin : Thu Jun 20 19:02:26 CEST 2002
5  copyright : (C) 2000-2021 by Thies H. Jochimsen
6  email : thies@jochimsen.de
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef PULSARVIEW_H
19 #define PULSARVIEW_H
20 
21 #include <odinqt/ldrwidget.h>
22 #include <odinqt/ldrblockwidget.h>
23 
24 #include <odinseq/odinpulse.h>
25 #include <odinseq/seqsim.h>
26 
28 
29 // for debugging Pulsar component
30 class PulsarComp {
31  public:
32  static const char* get_compName();
33 };
34 
36 
37 struct PulsarCancel {}; // exception
38 
40 
41 
42 class PulsarView : public QWidget, public virtual LDReditWidget {
43  Q_OBJECT
44 
45  public:
46  PulsarView(QWidget *parent=0);
47  ~PulsarView();
48 
49  void initPulsarView();
50 
51  static void usage();
52 
53  signals:
54  void done();
55  void newCaption(const char* text);
56 
57  public slots:
58  void slotFileNew();
59  void slotFileOpen();
60  void slotFileSave();
61  void slotFileSaveAs();
62 // void swapSliderTracking(bool);
63  void writeBrukerRf();
64  void exportRfampASCII();
65  void exportRfphaASCII();
66  void exportGxASCII();
67  void exportGyASCII();
68  void exportGzASCII();
69  void exportMampASCII();
70  void exportMphaASCII();
71  void exportMzASCII();
72  void exportPulseLDR();
73  void exportMagLDR();
74 
75  void edit_systemInfo();
76 
77  private slots:
78  void updatePulse();
79  void updateMagnetization();
80  void emitDone();
81 
82 
83  private:
84 
85  // Implemented function of LDReditWidget
86  void updateWidget();
87 
88  void vriteArray(const STD_string& filename, const fvector& data);
89 
90  void exportASCIIpulse(const fvector& data);
91  void exportASCIImag(const fvector& data);
92 
93  OdinPulse* pulse;
94  Sample* sample;
95  SeqSimMagsi* mag;
96 
97  funcMode old_mode;
98  STD_string fileName;
99 
100  GuiGridLayout *grid;
101 
102  LDRwidget* pulseWidget[n_dimModes];
103  LDRwidget* sampleWidget[n_dimModes];
104  LDRwidget* magnWidget[n_dimModes];
105 
106  GuiProgressDialog* progress;
107  int progcount;
108 };
109 
110 #endif
Advandced RF pulses.
Definition: odinpulse.h:122
Virtual Sample for Simulation.
Definition: sample.h:55
MAGSI-based Magnetization Simulator.
Definition: seqsim.h:113
funcMode
Definition: ldrfunction.h:39