source: trunk/FACT++/gui/MainWindow.h@ 19312

Last change on this file since 19312 was 19312, checked in by tbretz, 7 years ago
Defining a preprocessor directive for our __CMAKE__ build avoids to produce two additional unnecessray output files.
File size: 9.7 KB
Line 
1#ifndef FACT_MainWindow
2#define FACT_MainWindow
3
4#ifdef __CMAKE__
5#include "ui_design.h"
6#else
7#include "design.h"
8#endif
9
10#include <QMainWindow>
11
12class TObject;
13class TCanvas;
14
15class MainWindow : public QMainWindow, protected Ui::MainWindow
16{
17 Q_OBJECT;
18
19 void MakeLEDs(QPushButton **arr, QGridLayout *lay, const char *slot) const;
20
21 void SelectTab(const QString &name);
22 void SetTriggerSequence();
23 void SetTriggerCoincidence();
24 void SetCalibCoincidence();
25
26protected:
27 QPushButton *fFtuLED[40];
28 QPushButton *fFadLED[40];
29
30 bool fInHandler;
31
32public:
33 MainWindow(QWidget *p=0);
34
35private slots:
36 // Helper
37 void on_fFtmStartRun_clicked();
38 void on_fFtmStopRun_clicked();
39
40 void on_fFadStart_clicked();
41 void on_fFadStop_clicked();
42 void on_fFadAbort_clicked();
43 void on_fFadSoftReset_clicked();
44 void on_fFadHardReset_clicked();
45
46 void on_fLoggerStart_clicked();
47 void on_fLoggerStop_clicked();
48
49 void on_fMcpStartRun_clicked();
50 void on_fMcpStopRun_clicked();
51 void on_fMcpReset_clicked();
52
53 // Comment Sql Table
54 void on_fCommentInsertRow_clicked();
55
56 // System status
57 void on_fShutdown_clicked();
58 void on_fShutdownAll_clicked();
59
60 // Status LEDs signals
61 void on_fStatusFTULed_clicked();
62 void on_fStatusFTMLed_clicked();
63 void on_fStatusFADLed_clicked();
64 void on_fStatusLoggerLed_clicked();
65 void on_fStatusChatLed_clicked();
66 //void on_fStatusFTMEnable_stateChanged(int state);
67
68 // Tab Widget
69 void on_fTabWidget_tabCloseRequested(int which);
70 virtual void on_fTabWidget_currentChanged(int) = 0;
71
72 // Tab: FAD
73 void slot_fFadLED_clicked();
74
75// void on_fFadStartRun_clicked();
76// void on_fFadStopRun_clicked();
77 void on_fFadDrsOn_clicked();
78 void on_fFadDrsOff_clicked();
79 void on_fFadDwriteOn_clicked();
80 void on_fFadDwriteOff_clicked();
81 void on_fFadSingleTrigger_clicked();
82 void on_fFadTriggerLineOn_clicked();
83 void on_fFadTriggerLineOff_clicked();
84 void on_fFadContTriggerOn_clicked();
85 void on_fFadContTriggerOff_clicked();
86 void on_fFadBusyOnOn_clicked();
87 void on_fFadBusyOnOff_clicked();
88 void on_fFadBusyOffOn_clicked();
89 void on_fFadBusyOffOff_clicked();
90 void on_fFadResetTriggerId_clicked();
91 void on_fFadSocket0_clicked();
92 void on_fFadSocket17_clicked();
93
94 void FadSetFileFormat(uint16_t fmt);
95
96 void on_fFadButtonFileFormatNone_clicked() { FadSetFileFormat(0); }
97 void on_fFadButtonFileFormatDebug_clicked() { FadSetFileFormat(1); }
98 void on_fFadButtonFileFormatFits_clicked() { FadSetFileFormat(2); }
99 void on_fFadButtonFileFormatRaw_clicked() { FadSetFileFormat(3); }
100 void on_fFadButtonFileFormatZFits_clicked() { FadSetFileFormat(6); }
101
102 void on_fFadPrescalerCmd_valueChanged(int);
103 void on_fFadRunNumberCmd_valueChanged(int);
104 void on_fFadRoiCmd_valueChanged(int = 0);
105 void on_fFadRoiCh9Cmd_valueChanged(int) { on_fFadRoiCmd_valueChanged(); }
106
107 void FadDacCmd_valueChanged(uint16_t, uint16_t);
108
109 void on_fFadDac0Cmd_valueChanged(int v) { FadDacCmd_valueChanged(v, 0); }
110 void on_fFadDac1Cmd_valueChanged(int v) { FadDacCmd_valueChanged(v, 1); }
111 void on_fFadDac2Cmd_valueChanged(int v) { FadDacCmd_valueChanged(v, 2); }
112 void on_fFadDac3Cmd_valueChanged(int v) { FadDacCmd_valueChanged(v, 3); }
113 void on_fFadDac4Cmd_valueChanged(int v) { FadDacCmd_valueChanged(v, 4); }
114 void on_fFadDac5Cmd_valueChanged(int v) { FadDacCmd_valueChanged(v, 5); }
115 void on_fFadDac6Cmd_valueChanged(int v) { FadDacCmd_valueChanged(v, 6); }
116 void on_fFadDac7Cmd_valueChanged(int v) { FadDacCmd_valueChanged(v, 7); }
117
118 void on_fDrsCalibStart_clicked();
119 void on_fDrsCalibReset_clicked();
120
121 void on_fDrsCalibStart2_clicked() { on_fDrsCalibStart_clicked(); }
122 void on_fDrsCalibReset2_clicked() { on_fDrsCalibReset_clicked(); }
123
124 // Tab: Adc
125 virtual void DisplayEventData() = 0;
126 void on_fAdcCrate_valueChanged(int) { DisplayEventData(); }
127 void on_fAdcBoard_valueChanged(int) { DisplayEventData(); }
128 void on_fAdcChip_valueChanged(int) { DisplayEventData(); }
129 void on_fAdcChannel_valueChanged(int) { DisplayEventData(); }
130
131 // Tab: FTM
132 void on_fEnableTrigger_stateChanged(int);
133 void on_fEnableExt1_stateChanged(int);
134 void on_fEnableExt2_stateChanged(int);
135 void on_fEnableClockCond_stateChanged(int);
136 void on_fEnableVeto_stateChanged(int);
137
138 void on_fTriggerSeqPed_valueChanged(int) { SetTriggerSequence(); }
139 void on_fTriggerSeqLPint_valueChanged(int) { SetTriggerSequence(); }
140 void on_fTriggerSeqLPext_valueChanged(int) { SetTriggerSequence(); }
141
142 void on_fPhysicsCoincidence_valueChanged(int);
143 void on_fPhysicsWindow_valueChanged(int);
144 void on_fCalibCoincidence_valueChanged(int);
145 void on_fCalibWindow_valueChanged(int);
146
147 void on_fTriggerInterval_valueChanged(int);
148 void on_fTriggerDelay_valueChanged(int);
149 void on_fTimeMarkerDelay_valueChanged(int);
150 void on_fDeadTime_valueChanged(int);
151/*
152 void on_fClockCondR0_valueChanged(int) { }
153 void on_fClockCondR1_valueChanged(int) { }
154 void on_fClockCondR8_valueChanged(int) { }
155 void on_fClockCondR9_valueChanged(int) { }
156 void on_fClockCondR11_valueChanged(int) { }
157 void on_fClockCondR13_valueChanged(int) { }
158 void on_fClockCondR14_valueChanged(int) { }
159 void on_fClockCondR15_valueChanged(int) { }
160*/
161 void on_fPrescalingVal_valueChanged(int);
162
163 void on_fClockCondFreq_activated(int);
164
165 void on_fLpIntIntensity_valueChanged(int);
166 void on_fLpExtIntensity_valueChanged(int);
167 void on_fLpIntGroup1_stateChanged(int);
168 void on_fLpExtGroup1_stateChanged(int);
169 void on_fLpIntGroup2_stateChanged(int);
170 void on_fLpExtGroup2_stateChanged(int);
171
172 // Tab: FTUs
173 void slot_fFtuLED_clicked();
174 void on_fFtuPing_toggled(bool);
175 void on_fFtuAllOn_clicked();
176 void on_fFtuAllOff_clicked();
177
178 // Tab: Feedback
179 void on_fFeedbackDevMin_valueChanged(int);
180 void on_fFeedbackDevMax_valueChanged(int);
181 void on_fFeedbackCmdMin_valueChanged(int);
182 void on_fFeedbackCmdMax_valueChanged(int);
183 void on_fFeedbackStart_clicked();
184 void on_fFeedbackStop_clicked();
185 void on_fFeedbackCalibrate_clicked();
186
187 // Tab: Bias
188 virtual void BiasHvChannelChanged() = 0;
189 virtual void BiasCamChannelChanged() = 0;
190 void on_fBiasHvBoard_valueChanged(int) { BiasHvChannelChanged(); }
191 void on_fBiasHvChannel_valueChanged(int) { BiasHvChannelChanged(); }
192 void on_fBiasCamCrate_valueChanged(int) { BiasCamChannelChanged(); }
193 void on_fBiasCamBoard_valueChanged(int) { BiasCamChannelChanged(); }
194 void on_fBiasCamPatch_valueChanged(int) { BiasCamChannelChanged(); }
195 void on_fBiasCamPixel_valueChanged(int) { BiasCamChannelChanged(); }
196
197 void on_fBiasVoltDac_valueChanged(int);
198
199 void on_fBiasVoltMin_valueChanged(int); // FIXME: Could be set as slot in the designer
200 void on_fBiasVoltMax_valueChanged(int); // FIXME: Could be set as slot in the designer
201
202 void on_fBiasCurrentMin_valueChanged(int); // FIXME: Could be set as slot in the designer
203 void on_fBiasCurrentMax_valueChanged(int); // FIXME: Could be set as slot in the designer
204
205 void on_fBiasApplyChVolt_clicked();
206 void on_fBiasApplyChDac_clicked();
207 void on_fBiasApplyGlobalVolt_clicked();
208 void on_fBiasApplyGlobalDac_clicked();
209
210 void on_fBiasSetToZero_clicked();
211 void on_fBiasReset_clicked();
212
213 virtual void on_fBiasDispRefVolt_stateChanged(int) = 0;
214
215 // Tab: Rates
216 //virtual void UpdateThresholdIdx() = 0;
217 virtual void on_fPixelIdx_valueChanged(int) = 0;
218 //void on_fThresholdCrate_valueChanged(int) { UpdateThresholdIdx() ; }
219 //void on_fThresholdBoard_valueChanged(int) { UpdateThresholdIdx() ; }
220 //void on_fThresholdPatch_valueChanged(int) { UpdateThresholdIdx() ; }
221
222 virtual void on_fPixelEnable_stateChanged(int) = 0;
223 virtual void on_fThresholdVal_valueChanged(int) = 0;
224 //virtual void on_fThresholdIdx_valueChanged(int) = 0;
225
226 virtual void on_fBoardRatesEnabled_toggled(bool) = 0;
227
228 void on_fNoutof4Val_valueChanged(int);
229
230 void on_fRatesMin_valueChanged(int); // FIXME: Could be set as slot in the designer
231 void on_fRatesMax_valueChanged(int); // FIXME: Could be set as slot in the designer
232 void on_fPixelEnableAll_clicked();
233 void on_fPixelDisableAll_clicked();
234
235 virtual void on_fPixelDisableOthers_clicked() = 0;
236 virtual void on_fThresholdDisableOthers_clicked() = 0;
237 virtual void on_fThresholdEnablePatch_clicked() = 0;
238 virtual void on_fThresholdDisablePatch_clicked() = 0;
239
240 virtual void DisplayRates() = 0;
241 void on_fRatePatch1_valueChanged(int) { DisplayRates(); }
242 void on_fRatePatch2_valueChanged(int) { DisplayRates(); }
243 void on_fRateBoard1_valueChanged(int) { DisplayRates(); }
244 void on_fRateBoard2_valueChanged(int) { DisplayRates(); }
245
246 // Tab: RateScan
247
248 virtual void DisplayRateScan() = 0;
249 void on_fRateScanPatch1_valueChanged(int) { DisplayRateScan(); }
250 void on_fRateScanPatch2_valueChanged(int) { DisplayRateScan(); }
251 void on_fRateScanBoard1_valueChanged(int) { DisplayRateScan(); }
252 void on_fRateScanBoard2_valueChanged(int) { DisplayRateScan(); }
253
254 // Tab: Chat
255 void on_fChatSend_clicked();
256
257 // Tab: Commands
258 /// Needs access to DimNetwork thus it is implemented in the derived class
259 virtual void on_fDimCmdSend_clicked() = 0;
260
261 // Main menu
262 // void on_fMenuLogSaveAs_triggered(bool)
263
264 virtual void slot_RootEventProcessed(TObject *, unsigned int, TCanvas *) = 0;
265 virtual void slot_RootUpdate() = 0;
266 virtual void slot_ChoosePixelThreshold(int) = 0;
267 virtual void slot_ChooseBiasChannel(int) = 0;
268 virtual void slot_CameraDoubleClick(int) = 0;
269 virtual void slot_CameraMouseMove(int) = 0;
270 void slot_TimeUpdate();
271};
272
273#endif
Note: See TracBrowser for help on using the repository browser.