qmca  0.0.20
bm12controller.h
Go to the documentation of this file.
1 #ifndef BM12CONTROLLER_H
2 #define BM12CONTROLLER_H
3 
4 #include <QObject>
5 #include <QList>
6 #include "epicsmca.h"
7 #include "epicsa2dconverter.h"
8 #include "epicspulseanalyser.h"
9 #include "epicspowersupply.h"
10 #include "bm12waveforms.h"
11 
12 class QwtPlot;
13 class MCAController;
14 
15 class BM12Controller : public QObject
16 {
17  Q_OBJECT;
18 
19  public:
20  BM12Controller(MCAController *ctrl, QwtPlot *graph, QObject *parent=0);
21  virtual ~BM12Controller();
22 
23  EpicsMCA* mca();
27 
28  double calibratedValue(int bin);
29 
30  void selectSCA(int ch, int win);
31  void save(int ch, int mem);
32  void clear(int ch, int mem);
33  void count(int ch, int win);
34 
35  void updateGraph();
36 
37  void saveData(int ch);
38  void saveEnergyWindows(int ch);
39  void loadEnergyWindows(int ch);
40 
41  private slots:
42  void mcaValueChanged();
43 
44  private:
49  QList<EpicsPulseAnalyser*> m_TCA;
50  QList<BM12Waveforms*> m_Waveforms;
52  QwtPlot *m_Graph;
55  QString m_SaveDataPath;
57 };
58 
59 #endif
virtual ~BM12Controller()
EpicsMCA * mca()
EpicsA2DConverter * a2d()
QList< BM12Waveforms * > m_Waveforms
EpicsPowerSupply * powerSupply()
BM12Controller(MCAController *ctrl, QwtPlot *graph, QObject *parent=0)
double calibratedValue(int bin)
void saveData(int ch)
EpicsPowerSupply m_HVPS
QwtPlot * m_Graph
QList< EpicsPulseAnalyser * > m_TCA
EpicsPulseAnalyser * pulseAnalyser(int chan)
void count(int ch, int win)
QString m_SaveDataPath
void selectSCA(int ch, int win)
void saveEnergyWindows(int ch)
EpicsA2DConverter m_ADC
void clear(int ch, int mem)
void loadEnergyWindows(int ch)
QString m_SaveWindowsPath
void save(int ch, int mem)
MCAController * m_Controller