From 423a47cd9e4b40c73f6d6d77efd6be8bfd1d7969 Mon Sep 17 00:00:00 2001 From: l_maliakal_d Date: Fri, 17 Aug 2012 10:29:46 +0000 Subject: [PATCH] git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorGui@29 af1100a4-978c-4157-bff7-07162d2ba061 --- slsDetectorGui/forms/form_detectormain.ui | 2 - .../forms/form_energy_calibration.ui | 350 ++++++++++++++++++ slsDetectorGui/forms/form_tab_advanced.ui | 95 ----- slsDetectorGui/include/qDetectorMain.h | 3 + slsDetectorGui/include/qEnergyCalibration.h | 59 +++ slsDetectorGui/include/qTabAdvanced.h | 11 +- slsDetectorGui/src/qDetectorMain.cpp | 10 - slsDetectorGui/src/qEnergyCalibration.cpp | 58 +++ slsDetectorGui/src/qTabAdvanced.cpp | 37 +- slsDetectorGui/src/qTabMeasurement.cpp | 19 +- 10 files changed, 486 insertions(+), 158 deletions(-) create mode 100644 slsDetectorGui/forms/form_energy_calibration.ui create mode 100644 slsDetectorGui/include/qEnergyCalibration.h create mode 100644 slsDetectorGui/src/qEnergyCalibration.cpp diff --git a/slsDetectorGui/forms/form_detectormain.ui b/slsDetectorGui/forms/form_detectormain.ui index ea4ae989a..e7aedd325 100644 --- a/slsDetectorGui/forms/form_detectormain.ui +++ b/slsDetectorGui/forms/form_detectormain.ui @@ -232,8 +232,6 @@ - - diff --git a/slsDetectorGui/forms/form_energy_calibration.ui b/slsDetectorGui/forms/form_energy_calibration.ui new file mode 100644 index 000000000..058aac8ad --- /dev/null +++ b/slsDetectorGui/forms/form_energy_calibration.ui @@ -0,0 +1,350 @@ + + + EnergyCalibrationObject + + + + 0 + 0 + 500 + 300 + + + + + 0 + 0 + + + + Energy Calibration + + + false + + + QWizard::ModernStyle + + + Qt::AutoText + + + + + 0 + 0 + + + + ArrowCursor + + + Qt::NoFocus + + + + + + <font color = "darkblue">Calibration Setup</font> + + + + + + + 30 + + + 9 + + + 9 + + + 9 + + + 5 + + + + + + 0 + 0 + + + + Qt::NoFocus + + + Start New Calibration + + + + + + + + 0 + 0 + + + + Qt::NoFocus + + + Add to Existing Calibration + + + + + + + + 0 + 0 + + + + Qt::NoFocus + + + Generate Calibration Files + + + + + + + + 0 + 0 + + + + Qt::NoFocus + + + Detector Online + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 15 + + + + + + + + + 0 + 0 + + + + <font color="red">No File Selected</font> + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 20 + + + + + + + + + + 0 + 0 + + + + <font color = "darkblue">Summary of the Calibration</font> + + + + + + + 30 + + + + + Settings: + + + + + + + + Standard + + + + + Fast + + + + + High Gain + + + + + Dynamic Gain + + + + + Low Gain + + + + + Medium Gain + + + + + Very High Gain + + + + + + + + Number of Modules: + + + + + + + + + + Serial Numbers: + + + + + + + true + + + + + + + Number of energies: + + + + + + + Energies: + + + + + + + + <font color = "darkblue">Add Calibration Step</font> + + + + + + + + <font color = "darkblue">Add Calibration Step OFFLINE</font> + + + + + + + + <font color = "darkblue">Finalize Calibration</font> + + + + + + + + <font color = "darkblue">Fit Module</font> + + + + + + + + <font color = "darkblue">Linear Fit of Module</font> + + + + + + + + <font color = "darkblue">Error</font> + + + + + + + + <font color = "darkblue">Calibrating...</font> + + + + + + + + <font color = "darkblue">Finished</font> + + + + + + + + + diff --git a/slsDetectorGui/forms/form_tab_advanced.ui b/slsDetectorGui/forms/form_tab_advanced.ui index b871f7575..30075ae9b 100644 --- a/slsDetectorGui/forms/form_tab_advanced.ui +++ b/slsDetectorGui/forms/form_tab_advanced.ui @@ -44,101 +44,6 @@ PushButton - - - - 10 - 14 - 91 - 41 - - - - Qt::NoFocus - - - Gets both the temperature of ADC and FPGA - - - Get -Temperature - - - - - - 180 - 40 - 151 - 21 - - - - Reads temperature of FPGA. - #temp_fpga# - - - false - - - Qt::AlignCenter - - - true - - - - - - 120 - 10 - 41 - 20 - - - - ADC: - - - - - - 120 - 40 - 41 - 20 - - - - FPGA: - - - - - - 180 - 10 - 151 - 21 - - - - Reads temperature of ADC. - #temp_adc# - - - - - - false - - - Qt::AlignCenter - - - true - - diff --git a/slsDetectorGui/include/qDetectorMain.h b/slsDetectorGui/include/qDetectorMain.h index 476c33022..5142b62b8 100644 --- a/slsDetectorGui/include/qDetectorMain.h +++ b/slsDetectorGui/include/qDetectorMain.h @@ -28,6 +28,8 @@ class multiSlsDetector; #include #include +#include +using namespace std; /** To Over-ride the QTabWidget class to get the tabBar */ class MyTabWidget:public QTabWidget{ @@ -103,6 +105,7 @@ private: qTabDeveloper *tab_developer; /**Messages tab */ qTabMessages *tab_messages; + /**if the developer tab should be enabled,known from command line */ int isDeveloper; diff --git a/slsDetectorGui/include/qEnergyCalibration.h b/slsDetectorGui/include/qEnergyCalibration.h new file mode 100644 index 000000000..e33ed3584 --- /dev/null +++ b/slsDetectorGui/include/qEnergyCalibration.h @@ -0,0 +1,59 @@ +/* + * qEnergyCalibration.h + * + * Created on: May 10, 2012 + * Author: l_maliakal_d + */ + +#ifndef QENERGY_CALIBRATION_H_ +#define QENERGY_CALIBRATION_H_ + +/** Form Header */ +#include "ui_form_energy_calibration.h" +/** Project Class Headers */ +class multiSlsDetector; + +/** + *@short sets up the advanced parameters + */ +class qEnergyCalibration:public QWizard, private Ui::EnergyCalibrationObject{ + Q_OBJECT + +public: + /** \short The constructor + * @param parent is the parent tab widget + * @param detector is the detector returned from the detector tab + */ + qEnergyCalibration(QWidget *parent,multiSlsDetector*& detector); + + /** Destructor + */ + ~qEnergyCalibration(); + + /** To refresh and update widgets + */ + void Refresh(); + + +private: + /** The sls detector object */ + multiSlsDetector *myDet; + + /** Sets up the widget + */ + void SetupWidgetWindow(); + + /** Sets up all the slots and signals + */ + void Initialization(); + + + +private slots: + + +}; + + + +#endif /* QENERGY_CALIBRATION_H_ */ diff --git a/slsDetectorGui/include/qTabAdvanced.h b/slsDetectorGui/include/qTabAdvanced.h index a0573418f..e6fff7459 100644 --- a/slsDetectorGui/include/qTabAdvanced.h +++ b/slsDetectorGui/include/qTabAdvanced.h @@ -39,9 +39,6 @@ private: /** The sls detector object */ multiSlsDetector *myDet; - /** The sls detector object type*/ - int myDetType; - /** Sets up the widget */ void SetupWidgetWindow(); @@ -50,14 +47,10 @@ private: */ void Initialization(); - /** Enables/Disables all the widgets - */ - void Enable(bool enable); + private slots: -/** Get Temperature data - */ -void getTemperature(); + }; diff --git a/slsDetectorGui/src/qDetectorMain.cpp b/slsDetectorGui/src/qDetectorMain.cpp index 72e4aea25..8a5f28509 100644 --- a/slsDetectorGui/src/qDetectorMain.cpp +++ b/slsDetectorGui/src/qDetectorMain.cpp @@ -357,16 +357,6 @@ void qDetectorMain::ExecuteUtilities(QAction *action){ qDefs::InfoMessage("The configuration parameters have been successfully saved.","Main"); } } - else if(action==actionEnergyCalibration){ -#ifdef VERBOSE - cout << "Executing Energy Calibration" << endl; -#endif - } - else{ -#ifdef VERBOSE - cout << "Executing Angular Calibration" << endl; -#endif - } Refresh(tabs->currentIndex()); } diff --git a/slsDetectorGui/src/qEnergyCalibration.cpp b/slsDetectorGui/src/qEnergyCalibration.cpp new file mode 100644 index 000000000..d543ccbba --- /dev/null +++ b/slsDetectorGui/src/qEnergyCalibration.cpp @@ -0,0 +1,58 @@ +/* + * qEnergyCalibration.cpp + * + * Created on: May 10, 2012 + * Author: l_maliakal_d + */ +#include "qEnergyCalibration.h" +#include "qDefs.h" +/** Project Class Headers */ +#include "slsDetector.h" +#include "multiSlsDetector.h" +/** C++ Include Headers */ +#include +using namespace std; + + + + +qEnergyCalibration::qEnergyCalibration(QWidget *parent,multiSlsDetector*& detector):QWizard(parent),myDet(detector){ + setupUi(this); + SetupWidgetWindow(); + Initialization(); +} + + + + +qEnergyCalibration::~qEnergyCalibration(){ + delete myDet; +} + + + + +void qEnergyCalibration::SetupWidgetWindow(){ + +} + + + +void qEnergyCalibration::Initialization(){ + +} + + + + + +//------------------------------------------------------------------------------------------------------------------------------------------------- + + +void qEnergyCalibration::Refresh(){ + +} + + +//------------------------------------------------------------------------------------------------------------------------------------------------- + diff --git a/slsDetectorGui/src/qTabAdvanced.cpp b/slsDetectorGui/src/qTabAdvanced.cpp index bc9be2167..6825b7307 100644 --- a/slsDetectorGui/src/qTabAdvanced.cpp +++ b/slsDetectorGui/src/qTabAdvanced.cpp @@ -18,7 +18,6 @@ using namespace std; qTabAdvanced::qTabAdvanced(QWidget *parent,multiSlsDetector*& detector):QWidget(parent),myDet(detector){ setupUi(this); - myDetType = (int)myDet->getDetectorsType(); SetupWidgetWindow(); Initialization(); } @@ -34,48 +33,16 @@ qTabAdvanced::~qTabAdvanced(){ void qTabAdvanced::SetupWidgetWindow(){ - /** Temperature */ - if(myDetType==slsDetectorDefs::GOTTHARD) - getTemperature(); //check if gotthard??? - else{ - btnTemp->setEnabled(false); - dispTempAdc->setEnabled(false); - dispTempFpga->setEnabled(false); - } + } void qTabAdvanced::Initialization(){ - /** Temperature */ - connect(btnTemp,SIGNAL(clicked()),this,SLOT(getTemperature()));//check if gotthard??? + } - -void qTabAdvanced::Enable(bool enable){ - btnTemp->setEnabled(enable); - dispTempAdc->setEnabled(enable); - dispTempFpga->setEnabled(enable); - pushButton->setEnabled(enable); -} - - -void qTabAdvanced::getTemperature(){ - char ctemp[200]; - /** adc */ - double tempadc = myDet->getADC(slsDetectorDefs::TEMPERATURE_ADC); - sprintf(ctemp,"%f%cC",tempadc,0x00B0); - dispTempAdc->setText(QString(ctemp)); - /** fpga */ - double tempfpga = myDet->getADC(slsDetectorDefs::TEMPERATURE_FPGA); - sprintf(ctemp,"%f%cC",tempfpga,0x00B0); - dispTempFpga->setText(QString(ctemp)); -#ifdef VERBOSE - cout<<"Temperature of ADC: "<setExternalCommunicationMode(slsDetectorDefs::AUTO_TIMING)==slsDetectorDefs::AUTO_TIMING) success = true; break; - case Auto://Number of Frames, Exposure Time, Acquisition Period + case Auto://#Frames, ExpTime, Period + setNumTriggers(1); lblNumFrames->setEnabled(true); spinNumFrames->setEnabled(true); lblExpTime->setEnabled(true); spinExpTime->setEnabled(true); comboExpUnit->setEnabled(true); lblPeriod->setEnabled(true); spinPeriod->setEnabled(true); comboPeriodUnit->setEnabled(true); if(myDet->setExternalCommunicationMode(slsDetectorDefs::AUTO_TIMING)==slsDetectorDefs::AUTO_TIMING) success = true; break; - case Trigger_Exp_Series://Number of Frames, Exposure Time, Acquisition Period, Number of Triggers, Delay + case Trigger_Exp_Series://#Frames, #Triggers, ExpTime, Period, Delay lblNumFrames->setEnabled(true); spinNumFrames->setEnabled(true); lblExpTime->setEnabled(true); spinExpTime->setEnabled(true); comboExpUnit->setEnabled(true); lblPeriod->setEnabled(true); spinPeriod->setEnabled(true); comboPeriodUnit->setEnabled(true); @@ -505,13 +506,15 @@ void qTabMeasurement::SetTimingMode(int mode){ if(myDet->setExternalCommunicationMode(slsDetectorDefs::TRIGGER_EXPOSURE)==slsDetectorDefs::TRIGGER_EXPOSURE) success = true; break; - case Trigger_Frame://Exposure Time, Number of Triggers + case Trigger_Frame://ExpTime, #Triggers + setNumFrames(1); lblExpTime->setEnabled(true); spinExpTime->setEnabled(true); comboExpUnit->setEnabled(true); lblNumTriggers->setEnabled(true); spinNumTriggers->setEnabled(true); if(myDet->setExternalCommunicationMode(slsDetectorDefs::TRIGGER_FRAME)==slsDetectorDefs::TRIGGER_FRAME) success = true; break; - case Trigger_Readout://Number of Frames, Exposure Time, Acquisition Period, Delay + case Trigger_Readout://#Frames, ExpTime, Period, Delay + setNumTriggers(1); lblNumFrames->setEnabled(true); spinNumFrames->setEnabled(true); lblExpTime->setEnabled(true); spinExpTime->setEnabled(true); comboExpUnit->setEnabled(true); lblPeriod->setEnabled(true); spinPeriod->setEnabled(true); comboPeriodUnit->setEnabled(true); @@ -519,13 +522,14 @@ void qTabMeasurement::SetTimingMode(int mode){ if(myDet->setExternalCommunicationMode(slsDetectorDefs::TRIGGER_READOUT)==slsDetectorDefs::TRIGGER_READOUT) success = true; break; - case Gated://Number of Frames, Number of Gates + case Gated://#Frames, #Gates + setNumTriggers(1); lblNumFrames->setEnabled(true); spinNumFrames->setEnabled(true); lblNumGates->setEnabled(true); spinNumGates->setEnabled(true); if(myDet->setExternalCommunicationMode(slsDetectorDefs::GATE_FIX_NUMBER)==slsDetectorDefs::GATE_FIX_NUMBER) success = true; break; - case Gated_Start://Number of Frames, Exposure Time, Acquisition Period, Number of Triggers, Number of Gates + case Gated_Start://#Frames, #Triggers, #Gates, ExpTime, Period lblNumFrames->setEnabled(true); spinNumFrames->setEnabled(true); lblExpTime->setEnabled(true); spinExpTime->setEnabled(true); comboExpUnit->setEnabled(true); lblPeriod->setEnabled(true); spinPeriod->setEnabled(true); comboPeriodUnit->setEnabled(true); @@ -534,7 +538,8 @@ void qTabMeasurement::SetTimingMode(int mode){ if(myDet->setExternalCommunicationMode(slsDetectorDefs::GATE_WITH_START_TRIGGER)==slsDetectorDefs::GATE_WITH_START_TRIGGER) success = true; break; - case Trigger_Window://Number of Triggers + case Trigger_Window://#Triggers + setNumFrames(1); lblNumTriggers->setEnabled(true); spinNumTriggers->setEnabled(true); if(myDet->setExternalCommunicationMode(slsDetectorDefs::TRIGGER_WINDOW)==slsDetectorDefs::TRIGGER_WINDOW) success = true;