Rev 146 | Rev 172 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 146 | Rev 167 | ||
|---|---|---|---|
| Line 11... | Line 11... | ||
| 11 | { |
11 | { |
| 12 | TGCompositeFrame *fT1; |
12 | TGCompositeFrame *fT1; |
| 13 | idtotal = 0; |
13 | idtotal = 0; |
| 14 | 14 | ||
| 15 | char *cTemp; |
15 | char *cTemp; |
| - | 16 | ||
| - | 17 | // Prepare the default open directory (basedir) |
|
| - | 18 | currentOpenDir = new char[1024]; |
|
| - | 19 | sprintf(currentOpenDir, "%s/results", rootdir); |
|
| 16 | 20 | ||
| 17 | // CAMAC and Scope objects |
21 | // CAMAC and Scope objects |
| 18 | gDaq = new daq(); |
22 | gDaq = new daq(); |
| 19 | gScopeDaq = new daqscope(); |
23 | gScopeDaq = new daqscope(); |
| 20 | 24 | ||
| Line 63... | Line 67... | ||
| 63 | wPane = new int[analysiswin]; hPane = new int[analysiswin]; |
67 | wPane = new int[analysiswin]; hPane = new int[analysiswin]; |
| 64 | for(int i = 0; i < analysiswin; i++) |
68 | for(int i = 0; i < analysiswin; i++) |
| 65 | { |
69 | { |
| 66 | wPane[i] = frmWidth[i+measwin]; |
70 | wPane[i] = frmWidth[i+measwin]; |
| 67 | hPane[i] = frmHeight[i+measwin]; |
71 | hPane[i] = frmHeight[i+measwin]; |
| 68 | } |
72 | } |
| 69 | 73 | ||
| 70 | fT1 = fTab->AddTab("Analysis"); |
74 | fT1 = fTab->AddTab("Analysis"); |
| 71 | TGSplitter(fT1, "horizontal", hor, vert, analysisFrmTit, analysisLayout, wPane, hPane); |
75 | TGSplitter(fT1, "horizontal", hor, vert, analysisFrmTit, analysisLayout, wPane, hPane); |
| 72 | fT1->AddFrame(fLayout[idtotal], new TGLayoutHints(kLHintsExpandX | kLHintsExpandY)); |
76 | fT1->AddFrame(fLayout[idtotal], new TGLayoutHints(kLHintsExpandX | kLHintsExpandY)); |
| 73 | idtotal++; |
77 | idtotal++; |
| 74 | delete[] vert; delete hor; delete[] wPane; delete[] hPane; |
78 | delete[] vert; delete hor; delete[] wPane; delete[] hPane; |
| Line 135... | Line 139... | ||
| 135 | TGAppMainFrame::~TGAppMainFrame() |
139 | TGAppMainFrame::~TGAppMainFrame() |
| 136 | { |
140 | { |
| 137 | fMain->Cleanup(); |
141 | fMain->Cleanup(); |
| 138 | delete fMain; |
142 | delete fMain; |
| 139 | } |
143 | } |
| 140 | 144 | ||
| 141 | // ------------------------------------------------------------------- |
145 | // ------------------------------------------------------------------- |
| 142 | 146 | ||
| 143 | // Event handler for menubar actions --------------------------------- |
147 | // Event handler for menubar actions --------------------------------- |
| 144 | 148 | ||
| 145 | void TGAppMainFrame::HandleMenu(Int_t id) |
149 | void TGAppMainFrame::HandleMenu(Int_t id) |
| 146 | { |
150 | { |
| 147 | // int ret = 0; |
151 | // int ret = 0; |
| 148 | char cmd[256]; |
152 | char cmd[256]; |
| 149 | 153 | ||
| 150 | switch(id) |
154 | switch(id) |
| 151 | { |
155 | { |
| 152 | case M_FILE_SET_LAYOUT: |
156 | case M_FILE_SET_LAYOUT: |
| 153 | LayoutSet(); |
157 | LayoutSet(); |
| 154 | break; |
158 | break; |
| 155 | 159 | ||
| 156 | case M_FILE_SAVE_LAYOUT: |
160 | case M_FILE_SAVE_LAYOUT: |
| 157 | LayoutSave(); |
161 | LayoutSave(); |
| 158 | break; |
162 | break; |
| 159 | 163 | ||
| 160 | case M_FILE_SAVE_MSETTINGS: |
164 | case M_FILE_SAVE_MSETTINGS: |
| 161 | // Here, we save the set values in the measurement layout (automatically done when we safely exit the application and after each start of measurement). |
165 | // Here, we save the set values in the measurement layout (automatically done when we safely exit the application and after each start of measurement). |
| 162 | break; |
166 | break; |
| 163 | 167 | ||
| 164 | case M_FILE_SAVE_ASETTINGS: |
168 | case M_FILE_SAVE_ASETTINGS: |
| Line 579... | Line 583... | ||
| 579 | fH2->AddFrame(xPosMin->outsidebox, f0centerX); |
583 | fH2->AddFrame(xPosMin->outsidebox, f0centerX); |
| 580 | 584 | ||
| 581 | yPosMin = new TSubStructure(); |
585 | yPosMin = new TSubStructure(); |
| 582 | if(yPosMin->TGLabelNEntry(fH2, 8*subgroup[0]/16, 30, "Y (min):", 0, numform, "center")) |
586 | if(yPosMin->TGLabelNEntry(fH2, 8*subgroup[0]/16, 30, "Y (min):", 0, numform, "center")) |
| 583 | fH2->AddFrame(yPosMin->outsidebox, f0centerX); |
587 | fH2->AddFrame(yPosMin->outsidebox, f0centerX); |
| 584 | fG1->AddFrame(fH2, f1expandXpad); |
588 | fG1->AddFrame(fH2, f1expandXpad); |
| 585 | 589 | ||
| 586 | fH2 = new TGCompositeFrame(fG1, 3*subgroup[0]/4, 30, kFixedWidth | kHorizontalFrame); |
590 | fH2 = new TGCompositeFrame(fG1, 3*subgroup[0]/4, 30, kFixedWidth | kHorizontalFrame); |
| 587 | xPosMax = new TSubStructure(); |
591 | xPosMax = new TSubStructure(); |
| 588 | if(xPosMax->TGLabelNEntry(fH2, 8*subgroup[0]/16, 30, "X (max):", 0, numform, "center")) |
592 | if(xPosMax->TGLabelNEntry(fH2, 8*subgroup[0]/16, 30, "X (max):", 0, numform, "center")) |
| 589 | fH2->AddFrame(xPosMax->outsidebox, f0centerX); |
593 | fH2->AddFrame(xPosMax->outsidebox, f0centerX); |
| 590 | 594 | ||
| 591 | yPosMax = new TSubStructure(); |
595 | yPosMax = new TSubStructure(); |
| Line 866... | Line 870... | ||
| 866 | intSpectButtons = new TSubStructure(); |
870 | intSpectButtons = new TSubStructure(); |
| 867 | selnames[0] = "Start"; selnames[1] = "Start and edit"; selnames[2] = "Default values"; |
871 | selnames[0] = "Start"; selnames[1] = "Start and edit"; selnames[2] = "Default values"; |
| 868 | if(intSpectButtons->TGMultiButton(fV1, subgroup[0], 30, 3, selnames, "center")) |
872 | if(intSpectButtons->TGMultiButton(fV1, subgroup[0], 30, 3, selnames, "center")) |
| 869 | fV1->AddFrame(intSpectButtons->outsidebox, f1expandX); |
873 | fV1->AddFrame(intSpectButtons->outsidebox, f1expandX); |
| 870 | 874 | ||
| 871 | fT1->AddFrame(fV1, f1expandX); |
875 | fT1->AddFrame(fV1, f1expandX); |
| 872 | 876 | ||
| 873 | // Relative photon detection efficiency tab (PDE) |
877 | // Relative photon detection efficiency tab (PDE) |
| 874 | fT1 = analTab->AddTab("Relative PDE"); |
878 | fT1 = analTab->AddTab("Relative PDE"); |
| 875 | fV1 = new TGCompositeFrame(fT1, subgroup[0], subgroup[1], kVerticalFrame | kFixedWidth | kFixedHeight); |
879 | fV1 = new TGCompositeFrame(fT1, subgroup[0], subgroup[1], kVerticalFrame | kFixedWidth | kFixedHeight); |
| 876 | 880 | ||
| 877 | // Check button to toggle normalization |
881 | // Check button to toggle normalization |
| Line 1152... | Line 1156... | ||
| 1152 | // Edit the selected histograms |
1156 | // Edit the selected histograms |
| 1153 | if(DBGSIG > 1) printf("AppLayout(): Creating TSubStructure *editSelHist -> Button to additionally edit the selected histograms (make a canvas clone in a new tab)\n"); |
1157 | if(DBGSIG > 1) printf("AppLayout(): Creating TSubStructure *editSelHist -> Button to additionally edit the selected histograms (make a canvas clone in a new tab)\n"); |
| 1154 | editSelHist = new TSubStructure(); |
1158 | editSelHist = new TSubStructure(); |
| 1155 | if(editSelHist->TGLabelButton(analysisLayout[3], subgroup[0], 30, "Edit selected histograms:", "Edit", "center")) |
1159 | if(editSelHist->TGLabelButton(analysisLayout[3], subgroup[0], 30, "Edit selected histograms:", "Edit", "center")) |
| 1156 | analysisLayout[3]->AddFrame(editSelHist->outsidebox, f1expandXpad); |
1160 | analysisLayout[3]->AddFrame(editSelHist->outsidebox, f1expandXpad); |
| - | 1161 | ||
| - | 1162 | // Select position units to use for ploting (micrometer, table position units) |
|
| - | 1163 | if(DBGSIG > 1) printf("AppLayout(): Creating TSubStructure *posUnitsPlot -> Dropdown menu for selecting the position units for ploting\n"); |
|
| - | 1164 | posUnitsPlot = new TSubStructure(); |
|
| - | 1165 | selnames[0] = "table units"; selnames[1] = "micrometers"; |
|
| - | 1166 | sprintf(selected, "table units"); |
|
| - | 1167 | if(posUnitsPlot->TGLabelDrop(analysisLayout[3], 2.*subgroup[0]/3., 30, "Position units for plots:", 2, selnames, selected)) |
|
| - | 1168 | analysisLayout[3]->AddFrame(posUnitsPlot->outsidebox, f0centerX); |
|
| 1157 | 1169 | ||
| 1158 | // Actions for histogram controls pane //TODO |
1170 | // Actions for histogram controls pane //TODO |
| 1159 | for(int i = 0; i < 2; i++) |
1171 | for(int i = 0; i < 2; i++) |
| 1160 | { |
1172 | { |
| 1161 | adcRange->widgetNE[i]->Connect("ValueSet(Long_t)", "TGAppMainFrame", this, "UpdateHistogram(=0)"); |
1173 | adcRange->widgetNE[i]->Connect("ValueSet(Long_t)", "TGAppMainFrame", this, "UpdateHistogram(=0)"); |