Rev 172 |
Blame |
Compare with Previous |
Last modification |
View Log
| RSS feed
#include "../include/sipmscan.h"
#include "../include/workstation.h"
#include <stdio.h>
#include <stdlib.h>
void TGAppMainFrame::ToolTipSet()
{
// Measurement ----------------------------------------------------------------------
// Settings pane tooltips
scansOn->widgetChBox[0]->
SetToolTipText("If checked, perform scan over a range of voltages, set by V(min),\nV(max) and V(step) in the \"Main measurement window\".\nIf no scans are selected, a single measurement is performed.");
scansOn->widgetChBox[1]->
SetToolTipText("If checked, perform surface scan over the samples\nby moving the laser in X and Y directions.\nIf no scans are selected, a single measurement is performed.");
scansOn->widgetChBox[2]->
SetToolTipText("If checked, perform scan over a range of Z axis values, set by\nZ(min), Z(max) and Z(step) in the \"Main measurement window\".\nIf no scans are selected, a single measurement is performed.");
scansOn->widgetChBox[3]->
SetToolTipText("If checked, perform scan over a range of incidence angle values, set by\nAngle(min), Angle(max) and Angle(step) in the \"Main measurement window\".\nIf no scans are selected, a single measurement is performed.");
vHardlimit->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Maximal limit for \"Output Voltage\" to\navoid any unwanted bias voltages.");
NCH->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Number of channels to be acquired (limited to 8).");
// posUnits->widgetCB->SetToolTipText("Table controllers use their own units (1 = 0.3595 microns).\nSelect units you wish to use.");
oscConnect->widgetTE->
SetToolTipText("Enable use of an oscilloscope that is\nconnected to the network with VXI11.");
oscConnect->widgetTB[0]->
SetToolTipText("Enable use of an oscilloscope that is\nconnected to the network with VXI11.");
laserInfo->widgetTE->
SetToolTipText("Additional information (laser, in particular)\nthat will be written to header of output files.");
chtemp->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Temperature inside the chamber (this value\nis written to header of output files).");
liveDisp->widgetChBox[0]->
SetToolTipText("If checked, update the measured ADC histogram during\na measurement in the below \"Display window\".");
// Main measurement pane tooltips
vOutOpt->widgetChBox[0]->
SetToolTipText("If checked, the polarity of bias voltage\nwill be reversed (only negative values).");
vOutOpt->widgetChBox[1]->
SetToolTipText("If checked, the supplied bias voltage\nwill be enabled after pressing \"Set\".");
vOut->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Bias voltage supplied to the sample (will be changed after pressing \"Set\").\nFor safety, the maximal value is set by \"Voltage limit\" in the \"Settings pane\").");
vOutButtons->widgetTB[0]->
SetToolTipText("Set the value of \"Output voltage\" to the currently selected\n\"Output channel\" for the supplied bias voltage.");
vOutButtons->widgetTB[1]->
SetToolTipText("Get the current value of bias voltage for\nthe currently selected \"Output channel\".");
vOutButtons->widgetTB[2]->
SetToolTipText("Reset the currently selected \"Output channel\". Only use, if there is a problem\nwith the bias voltage supply (interlock state on http://f9mpod.ijs.si).");
vOutStart->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Starting bias voltage for a voltage scan.");
vOutStop->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Finishing bias voltage for a voltage scan.");
vOutStep->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Bias voltage step for a voltage scan. If \"V(max)-V(min)\" is not a multiple of V(step),\nthe finishing bias voltage will always be lower. If V(step) is 0, only a single\nmeasurement will be performed.\nFor more information, check under \"Voltage supply\" in the \"Help\" file.");
xPos->widgetNE[0]->GetNumberEntry()->
SetToolTipText("X axis position of the movement table (in units\nset by \"Position units\" in the \"Settings pane\").");
yPos->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Y axis position of the movement table (in units\nset by \"Position units\" in the \"Settings pane\").");
zPos->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Z axis position of the movement table (in units\nset by \"Position units\" in the \"Settings pane\").");
xPosMin->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Starting X axis movement table position for a surface scan.");
xPosMax->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Finishing X axis movement table position for a surface scan.");
xPosStep->widgetNE[0]->GetNumberEntry()->
SetToolTipText("X axis step for a surface scan. If \"X(max)-X(min)\" is not a multiple of X(step), the\nfinishing X axis position will always be lower. If X(step) is 0, only a single\nmeasurement will be performed.");
yPosMin->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Starting Y axis movement table position for a surface scan.");
yPosMax->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Finishing Y axis movement table position for a surface scan.");
yPosStep->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Y axis step for a surface scan. If \"Y(max)-Y(min)\" is not a multiple of Y(step), the\nfinishing Y axis position will always be lower. If Y(step) is 0, only a single\nmeasurement will be performed.");
zPosMin->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Starting Z axis movement table position for a Z-axis scan.");
zPosMax->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Finishing Z axis movement table position for a Z-axis scan.");
zPosStep->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Z axis step for a Z-axis scan. If \"Z(max)-Z(min)\" is not a multiple of Z(step), the\nfinishing Z axis position will always be lower. If Z(step) is 0, only a single\nmeasurement will be performed.");
posButtons->widgetTB[0]->
SetToolTipText("Set the position (X, Y and Z) of the movement table.");
posButtons->widgetTB[1]->
SetToolTipText("Get the current position (X, Y and Z) of the movement table.");
posButtons->widgetTB[2]->
SetToolTipText("Move the movement table to its predetermined initial position (home).");
posButtons->widgetTB[3]->
SetToolTipText("Reset, initialize and home all controllers for the movement table. Only use,\nif there is a problem with moving the table. If further problems\noccur, check under \"Movement table\" in the \"Help\" file.");
posButtons->widgetTB[4]->
SetToolTipText("Emergency stop of all three linear motors. Use if you know the motor is about to hit something.");
rotPos->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Incidence angle of the laser onto the sample (in units set by \"Rotation units\" in the\n\"Settings pane\"). 0 degrees corresponds to perpendicular laser light onto the surface.");
rotPosMin->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Starting incidence angle for a rotation scan.");
rotPosMax->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Finishing incidence angle for a rotation scan.");
rotPosStep->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Incidence angle step for a rotation scan. If \"Angle(max)-Angle(min)\" is not a multiple of\nAngle(step), the finishing incidence angle will always be lower. If Angle(step) is 0,\nonly a single measurement will be performed.");
rotButtons->widgetTB[0]->
SetToolTipText("Set the incidence angle of the rotation sample holder.");
rotButtons->widgetTB[1]->
SetToolTipText("Get the current incidence angle of the rotation sample holder.");
rotButtons->widgetTB[2]->
SetToolTipText("Move the rotation sample holder to angle 0 deg.");
rotButtons->widgetTB[3]->
SetToolTipText("Reposition to 0 deg, reset and initialize controller for the rotation sample holder.\nOnly use, if there is a problem with moving the table. If further problems\noccur, check under \"Movement table\" in the \"Help\" file.");
rotButEmergency->widgetTB[0]->
SetToolTipText("Emergency stop of the rotation samble holder. Use if you know the motor is about to hit something.");
evtNum->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Number of events to obtain before stopping data acquisition.");
timeStamp->widgetTE->
SetToolTipText("Timestamp (date and time of measurement) at start of measurement\n(this value is written to header of output files).");
fileName->widgetTE->
SetToolTipText("Filename where the current measurement will be saved to (output file).\nScans will have a sequential number appended to the filename.");
fileName->widgetTB[0]->
SetToolTipText("Change the filename of output file.");
measProgress->widgetTB[0]->
SetToolTipText("Start a new measurement. Stopping a measurement before finishing is\nonly possible for single measurements (not for scans).");
/* measProgress->widgetTE->
SetToolTipText("Estimated time for the current measurement to end.\nIf the system has a heavy load, the time will be higher.");*/
// Analysis -------------------------------------------------------------------------
// Histogram file selection pane
selectDir->widgetTB[0]->
SetToolTipText("Select a single or multiple files to use them for analysis.");
multiSelect->widgetChBox[0]->
SetToolTipText("If checked, multiple files can be selected in the above list.");
multiSelect->widgetChBox[1]->
SetToolTipText("If checked, all files on the above list are selected.");
fileListCtrl->widgetTB[0]->
SetToolTipText("Move to the previous file on the above list.");
fileListCtrl->widgetTB[1]->
SetToolTipText("Move to the next file on the above list.");
fileListCtrl->widgetTB[2]->
SetToolTipText("Open a new tab that enables header editing for any file on the above list.");
fileListCtrl->widgetTB[3]->
SetToolTipText("Empties the above list of files.");
dispTime->widgetTE->
SetToolTipText("Measurement time for the selected file from above list.\nOnly works, when \"Multiple file select\" is not checked.");
dispBias->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Bias voltage for the selected file from above list.\nOnly works, when \"Multiple file select\" is not checked.");
dispPos->widgetTE->
SetToolTipText("Movement table position (x, Y, Z) of the selected file from above list.\nOnly works, when \"Multiple file select\" is not checked.");
dispTemp->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Chamber temperature for the selected file from above list.\nOnly works, when \"Multiple file select\" is not checked.");
dispAngle->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Incidence angle for the selected file from above list.\nOnly works, when \"Multiple file select\" is not checked.");
dispLaser->widgetTE->
SetToolTipText("Additional information (laser, in particular) of the selected file from above list.\nOnly works, when \"Multiple file select\" is not checked.");
// Analysis pane
intSpect->widgetChBox[0]->
SetToolTipText("Perform an integration of the ADC spectrum inside the \"ADC range\"\nfor various X-axis values. Used for edge scans in X-axis direction.");
intSpect->widgetChBox[1]->
SetToolTipText("Perform an integration of the ADC spectrum inside the \"ADC range\"\nfor various Y-axis values. Used for edge scans in Y-axis direction.");
intSpect->widgetChBox[2]->
SetToolTipText("Normalize the ADC integral to the number of events ([ADC integral]/[Nr. of events]).");
resol2d->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Number of pixels in a 2D contour plot parallel to the X axis\n(determines the resolution of the actual image, not the measurement).");
resol2d->widgetNE[1]->GetNumberEntry()->
SetToolTipText("Number of pixels in a 2D contour plot parallel to the Y axis\n(determines the resolution of the actual image, not the measurement).");
intSpectButtons->widgetTB[0]->
SetToolTipText("Start the \"Integrate spectrum\" analysis and save\nresults to same folder as selected input files.");
intSpectButtons->widgetTB[1]->
SetToolTipText("Start the \"Integrate spectrum\" analysis and open results for further edit.");
intSpectButtons->widgetTB[2]->
SetToolTipText("Replace the current \"Integrate spectrum\" settings with default settings.");
relPde->widgetChBox[0]->
SetToolTipText("Normalize the ADC integral so that it is in a range between 0 and 1.");
midPeak->widgetChBox[0]->
SetToolTipText("Instead of taking the complete pedestal peak as noise, take only half of the peak.");
darkRun->widgetTE->
SetToolTipText("Filename of the dark run histogram (run with no incident light on the sample).\nMake sure this was measured right before or after the angle scan.");
darkRun->widgetTB[0]->
SetToolTipText("Select the file that holds the dark run histogram.");
zeroAngle->widgetNE[0]->GetNumberEntry()->
SetToolTipText("The angle offset of the dark run histogram from perpendicular position (0 degrees).");
intSpectButtons->widgetTB[0]->
SetToolTipText("Start the \"Relative PDE\" analysis and save\nresults to same folder as selected input files.");
intSpectButtons->widgetTB[1]->
SetToolTipText("Start the \"Relative PDE\" analysis and open results for further edit.");
intSpectButtons->widgetTB[2]->
SetToolTipText("Replace the current \"Relative PDE\" settings with default settings.");
minPeak->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Minimal number of peaks visible to perform analysis\non a measurement (not counting the pedestal peak).");
peakSepCalc->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Determines which peak separation to take for breakdown voltage analysis (most common is separation between 1 pe and 2 pe).");
brDownButtons->widgetTB[0]->
SetToolTipText("Start the \"Breakdown voltage\" analysis and save\nresults to same folder as selected input files.");
brDownButtons->widgetTB[1]->
SetToolTipText("Start the \"Breakdown voltage\" analysis and open results for further edit.");
brDownButtons->widgetTB[2]->
SetToolTipText("Replace the current \"Breakdown voltage\" settings with default settings.");
surfScanOpt->widgetChBox[0]->
SetToolTipText("Normalize the ADC integral so that it is in a range between 0 and 1.");
surfScanOpt->widgetChBox[1]->
SetToolTipText("Start the X and Y axis values from zero in the bottom left corner of the 2D plot,\ninstead of taking the actual position of the table.");
resolSurf->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Number of pixels in a 2D contour plot parallel to the X axis\n(determines the resolution of the actual image, not the measurement).");
resolSurf->widgetNE[1]->GetNumberEntry()->
SetToolTipText("Number of pixels in a 2D contour plot parallel to the Y axis\n(determines the resolution of the actual image, not the measurement).");
surfButtons->widgetTB[0]->
SetToolTipText("Start the \"Surface scan\" analysis and save\nresults to same folder as selected input files.");
surfButtons->widgetTB[1]->
SetToolTipText("Start the \"Surface scan\" analysis and open results for further edit.");
surfButtons->widgetTB[2]->
SetToolTipText("Replace the current \"Surface scan\" settings with default settings.");
fitSigma->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Sigma value of the peak (peaks are approximated\nto be Gaussians on top of background).");
fitTresh->widgetNE[0]->GetNumberEntry()->
SetToolTipText("The relative treshold between a peak and noise, below\nwhich jumps on spectrum are no longer considered as peaks.");
fitInter->widgetNE[0]->GetNumberEntry()->
SetToolTipText("The interpolation order for background estimation. Lower orders\nunderestimate the background, higher orders overestimate the background.");
adcOffset->widgetNE[0]->GetNumberEntry()->
SetToolTipText("If needed, the spectrum can be shifted by a small amount so that\nthe mean values are closer to X.0 values. Useful whenever we\nare estimating the peak with an integer number.");
accError->widgetNE[0]->GetNumberEntry()->
SetToolTipText("The maximal accepted error to still fit a peak. Whenever, the\nfraction of [peak mean error]/[peak mean] is above this value, the\nestimation of that peak is discarded.");
pedesLow->widgetNE[0]->GetNumberEntry()->
SetToolTipText("The lowest ADC channel value of, where we still search for\nthe pedestal peak. Used to discard and sudden jumps in the spectrum\nbefore the actual pedestal peak starts.");
fitChecks->widgetChBox[0]->
SetToolTipText("If checked, subtract the estimated background before\nfitting peaks. Otherwise, no subtraction is performed.");
fitChecks->widgetChBox[1]->
SetToolTipText("If checked, export fitted spectra for each selected file.");
// Histogram controls pane
adcRange->widgetNE[0]->GetNumberEntry()->
SetToolTipText("The lower limit of the ADC range. When both lower and upper\nare set to 0, the range is automatic. This range is regarded\nin the \"Histogram\" window and when performing analysis.");
adcRange->widgetNE[1]->GetNumberEntry()->
SetToolTipText("The upper limit of the ADC range. When both lower and upper\nare set to 0, the range is automatic. This range is regarded\nin the \"Histogram\" window and when performing analysis.");
tdcRange->widgetNE[0]->GetNumberEntry()->
SetToolTipText("The lower limit of the TDC range. When both lower and upper are set\nto 0, the range is automatic. This range determines the events used\nfor plotting the ADC spectrum (events with a certain time delay to laser).");
tdcRange->widgetNE[1]->GetNumberEntry()->
SetToolTipText("The upper limit of the TDC range. When both lower and upper are set\nto 0, the range is automatic. This range determines the events used\nfor plotting the ADC spectrum (events with a certain time delay to laser).");
yRange->widgetNE[0]->GetNumberEntry()->
SetToolTipText("The lower limit of the Y axis range. When both lower\nand upper are set to 0, the range is automatic.");
yRange->widgetNE[1]->GetNumberEntry()->
SetToolTipText("The upper limit of the Y axis range. When both lower\nand upper are set to 0, the range is automatic.");
selectCh->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Channel number to plot, when opening a multichannel measurement file.");
plotType->widgetTB[0]->
SetToolTipText("Change plot type in the \"Histogram\" window to ADC\n(Analog-to-Digital-Converter channels versus number\nof events).");
plotType->widgetTB[1]->
SetToolTipText("Change plot type in the \"Histogram\" window to TDC\n(Time-to-Digital-Converter in nanoseconds versus number\nof events).");
plotType->widgetTB[2]->
SetToolTipText("Change plot type in the \"Histogram\" window to ADC versus TDC.");
histOpt->widgetChBox[0]->
SetToolTipText("If checked, change the Y axis to logarithmic scale.\nOtherwise, plot in a linear scale.");
histOpt->widgetChBox[1]->
SetToolTipText("If checked, the plot information is hidden (such as\nplot title, fitting information, statistical information).");
exportHist->widgetTB[0]->
SetToolTipText("Export the currently selected histogram (ADC, TDC or\nADC/TDC from selected files) into the .pdf format.");
editSelHist->widgetTB[0]->
SetToolTipText("Open the currently visible plot in the \"Histogram\"\nwindow in a new tab to enable further editing.");
// posUnitsPlot->widgetTB[0]->SetToolTipText("Open the currently visible plot in the \"Histogram\"\nwindow in a new tab to enable further editing.");
}
void TGAppMainFrame::ToolTipSetSurfaceScan()
{
xCrop->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Position value to cut on left side of the surface scan.");
xCrop->widgetNE[1]->GetNumberEntry()->
SetToolTipText("Position value to cut on right side of the surface scan.");
yCrop->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Position value to cut on the bottom of the surface scan.");
yCrop->widgetNE[1]->GetNumberEntry()->
SetToolTipText("Position value to cut on the top of the surface scan.");
interpolSize->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Set the step size of X axis to be used for integration.");
interpolSize->widgetNE[1]->GetNumberEntry()->
SetToolTipText("Set the step size of Y axis to be used for integration.");
updateCrop->widgetTB[0]->
SetToolTipText("Update the surface scan to the current cut settings.");
updateCrop->widgetTB[1]->
SetToolTipText("Start integration of the surface scan using the interpolation step size.");
}
void TGAppMainFrame::ToolTipSetRelativePDE()
{
runningOff->widgetNE[0]->GetNumberEntry()->
SetToolTipText("The offset for the running average estimation.");
runningAver->widgetNE[0]->GetNumberEntry()->
SetToolTipText("Set how many points to use for running average. If set to 0, running average will not be plotted.");
}
void TGAppMainFrame::ToolTipSetTempAnalysis()
{
exportExitAnalysis->widgetTB[0]->
SetToolTipText("Export the above plot and decide where to save it.");
exportExitAnalysis->widgetTB[1]->
SetToolTipText("Close the temporary analysis tab.");
}