-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathIROOT.h
313 lines (219 loc) · 8.43 KB
/
IROOT.h
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
#ifndef IROOT_H
#define IROOT_H
#include <QMainWindow>
#include <QMdiSubWindow>
#include <QFileDialog>
#include <QTreeWidgetItem>
#include <QDebug>
#include <QTableWidget>
#include <QCompleter>
#include <QColorDialog>
#include <QToolTip>
#include <QMenu>
#include <QAction>
#include <QStringListModel>
#include <QScrollBar>
#include <QClipboard>
#include <QApplication>
#include <QSettings>
#include <QTimer>
#include <QUndoStack>
#include <QSplashScreen>
#include <iCanvas.h>
#include <IROOTMessageBox.h>
#include <IROOTPlotOptionsEntry.h>
#include <IROOTAxisEditor.h>
#include <IROOTFitOptions.h>
#include <IROOTFittingObjects.h>
#include <IROOTLoopModule.h>
#include <IROOTMultiDirectorySearch.h>
#include <IROOTAsciiFileConvertor.h>
#include <IROOTHistogramBinning.h>
#include <IROOTWorksheetImporter.h>
#include <IROOTTree.h>
#include <IROOTWorksheet.h>
#include <IROOTCompiler.h>
#include <IROOTTreeFormulaChecker.h>
#include <IROOTAboutBox.h>
#include <IROOTBinaryFileConvertor.h>
#include <TApplication.h>
#include <TCanvas.h>
#include <TFile.h>
#include <TTree.h>
#include <TChain.h>
#include <TBranch.h>
#include <TLeaf.h>
#include <TKey.h>
#include <TFriendElement.h>
#include <TStyle.h>
#include <TROOT.h>
#include <TPave.h>
#include <TLegend.h>
#include <TMultiGraph.h>
#include <TGraph.h>
#include <TMarker.h>
#include <THStack.h>
#include <TText.h>
#define MAXRECENTFILESLIST 15
namespace Ui {
class IROOT;
}
//class IROOTFitResultsTable;
class IROOTWorksheet;
class IROOT : public QMainWindow
{
Q_OBJECT
public:
explicit IROOT(QWidget *parent = 0);
TCanvas* AddCanvas(QString title="", int x=0,int y=0);
int GetNumberOfFiles(bool selectedOnly=false);
QStringList GetFileList();
void SetCurrentFile(int index);
QList <TTree*> GetTree(TFile *f);
// QStringList ListBranches(TTree *tree);
// QStringList GetListofLeavesinTree(TTree *tree);
void UpdateBranches(QStringList branches);
int CountPads();
void NextPad();
QTableWidget* CreateNewWorksheet(int rows, int cols, QString title);
QTableView* CreateNewTableView(IROOTWorksheet *model, QString title);
int plot(QString draw, QString cut, QString style, int loop, int type, bool refreshObjects, bool same, bool autoFit=false);
void ShowMessage(QString messageText, QString type);
void ShowMessages(int milliseconds);
QString GetPlotString();
QString GetCutString();
void LoopPlot(int type, int begin, int end, int increment, int padincrement);
void LoopPlotOverIndex(int begin, int end, int increment, int padincrement);
void LoopPlotOverFiles(bool selectedOnly, int loop, int padIncrement);
void Fit(QString opt="", int loop=0, bool statsOnPad=false);
void UpdateRecentFiles(QStringList recentFiles);
QTableWidget* GetCurrentWorksheet();
IROOTMessageBox *message;
QTableView* CreateTreeViewer();
void SaveCanvas();
void SaveWorksheet();
void CreateCompilerWindow();
void RemoveDlls(); // function to remove ACLIC dlls which are remaining.
static TFile *currentFile;
static TTree *currentTree;
~IROOT();
private slots:
void tabChanged(int tabN);
void tabClose(int tabN);
void windowActivated(QMdiSubWindow* window);
void on_backtoOpeningPage_clicked();
void on_openFiles_clicked();
void on_filesWidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);
void on_branchWidget_itemClicked(QTreeWidgetItem *item, int column);
void on_addNewCanvas_clicked();
void on_canvasRows_valueChanged(int arg1);
void on_canvasColumns_valueChanged(int arg1);
void on_nextPad_clicked();
void on_prevPad_clicked();
void on_addWorksheet_clicked();
void on_plot_clicked();
void on_gridX_clicked();
void on_gridY_clicked();
void on_logX_clicked();
void on_logY_clicked();
void on_plotTemplate_currentIndexChanged(const QString &arg1);
void on_openRootFile_clicked();
void on_templateOptions_itemClicked(QTreeWidgetItem *item, int column);
void on_viewFiles_clicked();
void on_viewTemplates_clicked();
void on_viewSetings_clicked();
void on_fit_clicked();
void SetFitOption(QList <QTreeWidgetItem*>);
void on_chooseFitOptions_clicked();
void on_moreObjects_clicked();
void on_plotFunction_clicked();
void on_loop_clicked();
void on_fontcomboBox_currentIndexChanged(const QString &arg1);
void on_fontSize_valueChanged(double arg1);
void on_fontColor_clicked();
void fontColorSelected(QColor);
void on_bold_clicked();
void on_italic_clicked();
void on_openMultipleRootFile_clicked();
void OpenFiles(QStringList fileNames);
void OpenFilesAsChain(QStringList fileNames);
void on_convertAsciitoTree_clicked();
void fitObjectsSelected(QStringList list);
void on_histogramBinning_clicked();
void setCurrentBinning(HistBin b){currentBinning =b;}
void on_ImportAscii_clicked();
void CreateTable();
//void SetTableData(int row, int column, QString data);
void on_plotOptions_clicked();
void closeHiddenWidgets();
void on_plotString_textChanged(const QString &arg1);
void setDrawStringFromCompleter(QString completer);
void setCutStringFromCompleter(QString completer);
void setFilterStringFromCompleter(QString completer);
void on_cutString_textChanged(const QString &arg1);
void on_chainFiles_clicked();
void on_clear_files_clicked();
void on_filterEntries_clicked();
void on_filterString_textChanged(const QString &arg1);
void on_clearFitData_clicked();
void saveSettings();
void loadSettings();
void on_recentFiles_itemClicked(QTreeWidgetItem *item, int column);
void on_save_clicked();
void AppendMessage(QString messageText, QString type);
void SetUniqueLineColor();
void SetUniqueMarkerColor();
void SetUniqueMarkerStyle();
//void on_createLegends_clicked();
void CreateLineLegend();
void CreateMarkerLegend();
void CreateLineMarkerLegend();
void on_gotoWorkspace_clicked();
void on_viewCompiler_clicked();
void on_about_clicked();
void on_insertGraphicalCut_clicked();
void on_insertArrow_clicked();
void on_insertArc_clicked();
void on_insertEllipse_clicked();
void on_insertLine_clicked();
void on_insertMarker_clicked();
void on_insertText_clicked();
void on_resetInsertMode_clicked();
void on_convertbinarytoTree_clicked();
signals:
void currentTreeChanged(TTree* currTree, QStringList branches);
private:
Ui::IROOT *ui;
QSize mainSize;// store the size of the maximized window
TApplication *iRootApp;
void InitializeRoot();
void InitializeVariables();
void CreateWidgets();
int CheckTreeString(QString s, QString c, int type=0); // type =1 filter string
void closeEvent(QCloseEvent *);
bool isClearingFiles;
bool closePreviousFile;
bool isChain; // flag to denote if files are chained
IROOTFitOptions *fitOptions;
IROOTMultiDirectorySearch *multiDirSearch;
IROOTAsciiFileConvertor *asciiConvertor;
IROOTBinaryFileConvertor *binaryConvertor;
IROOTWorksheetImporter *worksheetImporter;
IROOTHistogramBinning *histogramBinning;
IROOTPlotOptionsEntry *plotOptionsEntry;
QColorDialog *colorDialog;
HistBin currentBinning;
IROOTWorksheet *IROOTTreeModel;
IROOTWorksheet *fitResultsTable;
QTimer *closeTimer;
QCompleter *drawStringCompleter;
QCompleter *cutStringCompleter;
QCompleter *filterStringCompleter;
QAction *uniqueLineColor;
QAction *uniqueMarkerColor;
QAction *uniqueMarkerStyle;
QAction *lineLegend;
QAction *markerLegend;
QAction *linemarkerLegend;
};
#endif // IROOT_H