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

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