making gui work temporarily for jctb

This commit is contained in:
Dhanya Maliakal
2017-11-22 09:27:01 +01:00
parent 7f58b77dfb
commit 4159e83fd6
11 changed files with 57 additions and 18 deletions

View File

@ -602,6 +602,9 @@ bool gainPlotEnable;
/** gain data enable, enabled if gain data to be extracted from normal data */ /** gain data enable, enabled if gain data to be extracted from normal data */
bool gainDataEnable; bool gainDataEnable;
const static int npixelsx_jctb = 400;
int npixelsy_jctb;
signals: signals:
void UpdatingPlotFinished(); void UpdatingPlotFinished();
void InterpolateSignal(bool); void InterpolateSignal(bool);

View File

@ -278,6 +278,7 @@ void qDetectorMain::SetUpDetector(const string fName){
case slsDetectorDefs::PROPIX: case slsDetectorDefs::PROPIX:
case slsDetectorDefs::MOENCH: case slsDetectorDefs::MOENCH:
case slsDetectorDefs::JUNGFRAU: case slsDetectorDefs::JUNGFRAU:
case slsDetectorDefs::JUNGFRAUCTB:
actionLoadTrimbits->setText("Load Settings"); actionSaveTrimbits->setText("Save Settings"); actionLoadTrimbits->setText("Load Settings"); actionSaveTrimbits->setText("Save Settings");
break; break;
default: default:

View File

@ -67,12 +67,17 @@ void qDrawPlot::SetupWidgetWindow(){
// Depending on whether the detector is 1d or 2d // Depending on whether the detector is 1d or 2d
detType = myDet->getDetectorsType(); detType = myDet->getDetectorsType();
switch(detType){ switch(detType){
case slsDetectorDefs::MYTHEN: originally2D = false; break; case slsDetectorDefs::MYTHEN:
case slsDetectorDefs::EIGER: originally2D = true; break; case slsDetectorDefs::GOTTHARD:
case slsDetectorDefs::GOTTHARD: originally2D = false; break; originally2D = false;
case slsDetectorDefs::PROPIX: originally2D = true; break; break;
case slsDetectorDefs::MOENCH: originally2D = true; break; case slsDetectorDefs::EIGER:
case slsDetectorDefs::JUNGFRAU: originally2D = true; break; case slsDetectorDefs::PROPIX:
case slsDetectorDefs::MOENCH:
case slsDetectorDefs::JUNGFRAU:
case slsDetectorDefs::JUNGFRAUCTB:
originally2D = true;
break;
default: default:
cout << "ERROR: Detector Type is Generic" << endl; cout << "ERROR: Detector Type is Generic" << endl;
exit(-1); exit(-1);
@ -115,9 +120,14 @@ void qDrawPlot::SetupWidgetWindow(){
plot_in_scope = 0; plot_in_scope = 0;
nPixelsX = myDet->getTotalNumberOfChannelsInclGapPixels(slsDetectorDefs::X); nPixelsX = myDet->getTotalNumberOfChannelsInclGapPixels(slsDetectorDefs::X);
cout<<"nPixelsX:"<<nPixelsX<<endl;
nPixelsY = myDet->getTotalNumberOfChannelsInclGapPixels(slsDetectorDefs::Y); nPixelsY = myDet->getTotalNumberOfChannelsInclGapPixels(slsDetectorDefs::Y);
if (detType == slsDetectorDefs::JUNGFRAUCTB) {
npixelsy_jctb = (myDet->setTimer(slsDetectorDefs::SAMPLES_JCTB, -1) * 2)/25;
nPixelsX = npixelsx_jctb;
nPixelsY = npixelsy_jctb;
}
cout<<"nPixelsX:"<<nPixelsX<<endl;
cout<<"nPixelsY:"<<nPixelsY<<endl; cout<<"nPixelsY:"<<nPixelsY<<endl;
nAnglePixelsX = 1; nAnglePixelsX = 1;
@ -578,6 +588,12 @@ void qDrawPlot::SetScanArgument(int scanArg){
minPixelsY = 0; minPixelsY = 0;
nPixelsX = myDet->getTotalNumberOfChannelsInclGapPixels(slsDetectorDefs::X); nPixelsX = myDet->getTotalNumberOfChannelsInclGapPixels(slsDetectorDefs::X);
nPixelsY = myDet->getTotalNumberOfChannelsInclGapPixels(slsDetectorDefs::Y); nPixelsY = myDet->getTotalNumberOfChannelsInclGapPixels(slsDetectorDefs::Y);
if (detType == slsDetectorDefs::JUNGFRAUCTB) {
npixelsy_jctb = (myDet->setTimer(slsDetectorDefs::SAMPLES_JCTB, -1) * 2)/25;
nPixelsX = npixelsx_jctb;
nPixelsY = npixelsy_jctb;
}
//cannot do this in between measurements , so update instantly //cannot do this in between measurements , so update instantly
if(scanArgument==qDefs::Level0){ if(scanArgument==qDefs::Level0){
//no need to check if numsteps=0,cuz otherwise this mode wont be set in plot tab //no need to check if numsteps=0,cuz otherwise this mode wont be set in plot tab
@ -2206,7 +2222,7 @@ void qDrawPlot::toDoublePixelData(double* dest, char* source,int size, int datab
break; break;
case 16: case 16:
if (detType == slsDetectorDefs::JUNGFRAU) { if (detType == slsDetectorDefs::JUNGFRAU || detType == slsDetectorDefs::JUNGFRAUCTB) {
// show gain plot // show gain plot
if(gaindest!=NULL) { if(gaindest!=NULL) {

View File

@ -185,6 +185,7 @@ void qTabActions::SetupWidgetWindow(){
(detType == slsDetectorDefs::AGIPD) || (detType == slsDetectorDefs::AGIPD) ||
(detType == slsDetectorDefs::PROPIX) || (detType == slsDetectorDefs::PROPIX) ||
(detType == slsDetectorDefs::JUNGFRAU) || (detType == slsDetectorDefs::JUNGFRAU) ||
(detType == slsDetectorDefs::JUNGFRAUCTB) ||
(detType == slsDetectorDefs::MOENCH)) { (detType == slsDetectorDefs::MOENCH)) {
lblName[NumPositions]->setEnabled(false); lblName[NumPositions]->setEnabled(false);
btnExpand[NumPositions]->setEnabled(false); btnExpand[NumPositions]->setEnabled(false);

View File

@ -112,6 +112,7 @@ void qTabAdvanced::SetupWidgetWindow(){
boxRxr->setEnabled(true); boxRxr->setEnabled(true);
break; break;
case slsDetectorDefs::JUNGFRAU: case slsDetectorDefs::JUNGFRAU:
case slsDetectorDefs::JUNGFRAUCTB:
isEnergy = false; isEnergy = false;
isAngular = false; isAngular = false;
lblIP->setEnabled(true); lblIP->setEnabled(true);

View File

@ -895,6 +895,7 @@ void qTabDataOutput::SetupFileFormat(){
case slsDetectorDefs::PROPIX: case slsDetectorDefs::PROPIX:
case slsDetectorDefs::GOTTHARD: case slsDetectorDefs::GOTTHARD:
case slsDetectorDefs::JUNGFRAU: case slsDetectorDefs::JUNGFRAU:
case slsDetectorDefs::JUNGFRAUCTB:
item[(int)slsReceiverDefs::BINARY]->setEnabled(true); item[(int)slsReceiverDefs::BINARY]->setEnabled(true);
item[(int)slsReceiverDefs::ASCII]->setEnabled(false); item[(int)slsReceiverDefs::ASCII]->setEnabled(false);
item[(int)slsReceiverDefs::HDF5]->setEnabled(true); item[(int)slsReceiverDefs::HDF5]->setEnabled(true);

View File

@ -74,6 +74,7 @@ void qTabDebugging::SetupWidgetWindow(){
chkModuleFirmware->setEnabled(false); chkModuleFirmware->setEnabled(false);
break; break;
case slsDetectorDefs::JUNGFRAU: case slsDetectorDefs::JUNGFRAU:
case slsDetectorDefs::JUNGFRAUCTB:
case slsDetectorDefs::PROPIX: case slsDetectorDefs::PROPIX:
case slsDetectorDefs::GOTTHARD: case slsDetectorDefs::GOTTHARD:
lblDetector->setText("Module:"); lblDetector->setText("Module:");
@ -343,7 +344,7 @@ void qTabDebugging::GetInfo(){
case slsDetectorDefs::JUNGFRAU: case slsDetectorDefs::JUNGFRAU:
case slsDetectorDefs::JUNGFRAUCTB:
//display widget //display widget
formLayout->addWidget(new QLabel("Module:"),0,0); formLayout->addWidget(new QLabel("Module:"),0,0);
formLayout->addItem(new QSpacerItem(15,20,QSizePolicy::Fixed,QSizePolicy::Fixed),0,1); formLayout->addItem(new QSpacerItem(15,20,QSizePolicy::Fixed,QSizePolicy::Fixed),0,1);
@ -355,7 +356,10 @@ void qTabDebugging::GetInfo(){
formLayout->addWidget(new QLabel("Module Software Version:"),3,0); formLayout->addWidget(new QLabel("Module Software Version:"),3,0);
formLayout->addWidget(lblDetectorSoftware,3,2); formLayout->addWidget(lblDetectorSoftware,3,2);
//tree widget //tree widget
treeDet->setHeaderLabel("JungFrau Detector"); if (detType == slsDetectorDefs::JUNGFRAU)
treeDet->setHeaderLabel("JungFrau Detector");
else
treeDet->setHeaderLabel("JungFrauCTB Detector");
//gets det names //gets det names
for (int i=0;i<comboDetector->count();i++) for (int i=0;i<comboDetector->count();i++)
items.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("Module (%1)").arg(comboDetector->itemText(i))))); items.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("Module (%1)").arg(comboDetector->itemText(i)))));
@ -470,6 +474,7 @@ void qTabDebugging::SetParameters(QTreeWidgetItem *item){
case slsDetectorDefs::JUNGFRAU: case slsDetectorDefs::JUNGFRAU:
case slsDetectorDefs::JUNGFRAUCTB:
case slsDetectorDefs::PROPIX: case slsDetectorDefs::PROPIX:
case slsDetectorDefs::MOENCH: case slsDetectorDefs::MOENCH:
case slsDetectorDefs::GOTTHARD: case slsDetectorDefs::GOTTHARD:
@ -519,6 +524,7 @@ void qTabDebugging::TestDetector(){
break; break;
case slsDetectorDefs::EIGER: Detector = "Half Module"; break; case slsDetectorDefs::EIGER: Detector = "Half Module"; break;
case slsDetectorDefs::JUNGFRAU: case slsDetectorDefs::JUNGFRAU:
case slsDetectorDefs::JUNGFRAUCTB:
case slsDetectorDefs::MOENCH: case slsDetectorDefs::MOENCH:
case slsDetectorDefs::PROPIX: case slsDetectorDefs::PROPIX:
case slsDetectorDefs::GOTTHARD: Detector = "Module"; break; case slsDetectorDefs::GOTTHARD: Detector = "Module"; break;

View File

@ -148,6 +148,7 @@ void qTabDeveloper::SetupWidgetWindow() {
case slsDetectorDefs::JUNGFRAU: case slsDetectorDefs::JUNGFRAU:
case slsDetectorDefs::JUNGFRAUCTB:
NUM_DAC_WIDGETS = 8; NUM_DAC_WIDGETS = 8;
NUM_ADC_WIDGETS = 1; NUM_ADC_WIDGETS = 1;
dacNames.push_back("v vb comp:"); dacNames.push_back("v vb comp:");
@ -474,6 +475,8 @@ slsDetectorDefs::dacIndex qTabDeveloper::getSLSIndex(int index){
} }
break; break;
case slsDetectorDefs::JUNGFRAU: case slsDetectorDefs::JUNGFRAU:
case slsDetectorDefs::JUNGFRAUCTB:
switch(index){ switch(index){
case 0: case 0:
case 1: case 1:
@ -522,7 +525,7 @@ void qTabDeveloper::RefreshAdcs(){
for(int i=0;i<NUM_ADC_WIDGETS;i++){ for(int i=0;i<NUM_ADC_WIDGETS;i++){
//all detectors //all detectors
if(!detid){ if(!detid){
if(detType == slsDetectorDefs::EIGER || detType == slsDetectorDefs::JUNGFRAU){ if(detType == slsDetectorDefs::EIGER || detType == slsDetectorDefs::JUNGFRAU || detType == slsDetectorDefs::JUNGFRAUCTB){
double value = (double)myDet->getADC(getSLSIndex(i+NUM_DAC_WIDGETS),-1); double value = (double)myDet->getADC(getSLSIndex(i+NUM_DAC_WIDGETS),-1);
if(value == -1) if(value == -1)
spinAdcs[i]->setValue(value); spinAdcs[i]->setValue(value);
@ -537,7 +540,7 @@ void qTabDeveloper::RefreshAdcs(){
} }
//specific detector //specific detector
else{ else{
if(detType == slsDetectorDefs::EIGER || detType == slsDetectorDefs::JUNGFRAU) if(detType == slsDetectorDefs::EIGER || detType == slsDetectorDefs::JUNGFRAU || detType == slsDetectorDefs::JUNGFRAUCTB)
spinAdcs[i]->setValue((double)det->getADC(getSLSIndex(i+NUM_DAC_WIDGETS))/1000.00); spinAdcs[i]->setValue((double)det->getADC(getSLSIndex(i+NUM_DAC_WIDGETS))/1000.00);
else else
spinAdcs[i]->setValue((double)det->getADC(getSLSIndex(i+NUM_DAC_WIDGETS))); spinAdcs[i]->setValue((double)det->getADC(getSLSIndex(i+NUM_DAC_WIDGETS)));

View File

@ -74,7 +74,7 @@ void qTabMeasurement::SetupWidgetWindow(){
comboDelayUnit->setCurrentIndex((int)unit); comboDelayUnit->setCurrentIndex((int)unit);
} }
//gates //gates
if ((detType == slsDetectorDefs::EIGER) || (detType == slsDetectorDefs::JUNGFRAU)) { if ((detType == slsDetectorDefs::EIGER) || (detType == slsDetectorDefs::JUNGFRAU) || (detType == slsDetectorDefs::JUNGFRAUCTB)) {
lblNumGates->setEnabled(false); lblNumGates->setEnabled(false);
spinNumGates->setEnabled(false); spinNumGates->setEnabled(false);
} else } else
@ -160,6 +160,7 @@ void qTabMeasurement::SetupTimingMode(){
case slsDetectorDefs::PROPIX: case slsDetectorDefs::PROPIX:
case slsDetectorDefs::GOTTHARD: case slsDetectorDefs::GOTTHARD:
case slsDetectorDefs::JUNGFRAU: case slsDetectorDefs::JUNGFRAU:
case slsDetectorDefs::JUNGFRAUCTB:
item[(int)Trigger_Exp_Series]->setEnabled(true); item[(int)Trigger_Exp_Series]->setEnabled(true);
item[(int)Trigger_Readout]->setEnabled(false); item[(int)Trigger_Readout]->setEnabled(false);
item[(int)Gated]->setEnabled(false); item[(int)Gated]->setEnabled(false);
@ -292,7 +293,7 @@ void qTabMeasurement::Initialization(){
} }
//Number of Gates //Number of Gates
if ((detType != slsDetectorDefs::EIGER) && (detType != slsDetectorDefs::JUNGFRAU)) if ((detType != slsDetectorDefs::EIGER) && (detType != slsDetectorDefs::JUNGFRAU) && (detType != slsDetectorDefs::JUNGFRAUCTB))
connect(spinNumGates,SIGNAL(valueChanged(int)), this, SLOT(setNumGates(int))); connect(spinNumGates,SIGNAL(valueChanged(int)), this, SLOT(setNumGates(int)));
//Number of Probes //Number of Probes
@ -803,7 +804,7 @@ void qTabMeasurement::Refresh(){
disconnect(spinDelay, SIGNAL(valueChanged(double)), this, SLOT(setDelay())); disconnect(spinDelay, SIGNAL(valueChanged(double)), this, SLOT(setDelay()));
disconnect(comboDelayUnit, SIGNAL(currentIndexChanged(int)), this, SLOT(setDelay())); disconnect(comboDelayUnit, SIGNAL(currentIndexChanged(int)), this, SLOT(setDelay()));
} }
if ((detType != slsDetectorDefs::EIGER) && (detType != slsDetectorDefs::JUNGFRAU)) if ((detType != slsDetectorDefs::EIGER) && (detType != slsDetectorDefs::JUNGFRAU) && (detType != slsDetectorDefs::JUNGFRAUCTB))
disconnect(spinNumGates, SIGNAL(valueChanged(int)), this, SLOT(setNumGates(int))); disconnect(spinNumGates, SIGNAL(valueChanged(int)), this, SLOT(setNumGates(int)));
#ifdef VERBOSE #ifdef VERBOSE
@ -847,7 +848,7 @@ void qTabMeasurement::Refresh(){
comboDelayUnit->setCurrentIndex((int)unit); comboDelayUnit->setCurrentIndex((int)unit);
} }
//gates //gates
if ((detType == slsDetectorDefs::EIGER) || (detType == slsDetectorDefs::JUNGFRAU)) { if ((detType == slsDetectorDefs::EIGER) || (detType == slsDetectorDefs::JUNGFRAU) || (detType == slsDetectorDefs::JUNGFRAUCTB)) {
lblNumGates->setEnabled(false); lblNumGates->setEnabled(false);
spinNumGates->setEnabled(false); spinNumGates->setEnabled(false);
} else { } else {
@ -889,7 +890,7 @@ void qTabMeasurement::Refresh(){
connect(spinDelay, SIGNAL(valueChanged(double)), this, SLOT(setDelay())); connect(spinDelay, SIGNAL(valueChanged(double)), this, SLOT(setDelay()));
connect(comboDelayUnit, SIGNAL(currentIndexChanged(int)), this, SLOT(setDelay())); connect(comboDelayUnit, SIGNAL(currentIndexChanged(int)), this, SLOT(setDelay()));
} }
if ((detType != slsDetectorDefs::EIGER) && (detType != slsDetectorDefs::JUNGFRAU)) if ((detType != slsDetectorDefs::EIGER) && (detType != slsDetectorDefs::JUNGFRAU) && (detType != slsDetectorDefs::JUNGFRAUCTB))
connect(spinNumGates, SIGNAL(valueChanged(int)), this, SLOT(setNumGates(int))); connect(spinNumGates, SIGNAL(valueChanged(int)), this, SLOT(setNumGates(int)));
//timing mode - will also check if exptime>acq period and also enableprobes() //timing mode - will also check if exptime>acq period and also enableprobes()

View File

@ -185,6 +185,7 @@ void qTabPlot::SetupWidgetWindow(){
isOriginallyOneD = false; isOriginallyOneD = false;
break; break;
case slsDetectorDefs::JUNGFRAU: case slsDetectorDefs::JUNGFRAU:
case slsDetectorDefs::JUNGFRAUCTB:
isOriginallyOneD = false; isOriginallyOneD = false;
chkGainPlot->setEnabled(true); chkGainPlot->setEnabled(true);
break; break;
@ -1109,6 +1110,7 @@ void qTabPlot::EnableScanBox(){
if((myDet->getDetectorsType() == slsDetectorDefs::GOTTHARD) || if((myDet->getDetectorsType() == slsDetectorDefs::GOTTHARD) ||
(myDet->getDetectorsType() == slsDetectorDefs::PROPIX) || (myDet->getDetectorsType() == slsDetectorDefs::PROPIX) ||
(myDet->getDetectorsType() == slsDetectorDefs::JUNGFRAU) || (myDet->getDetectorsType() == slsDetectorDefs::JUNGFRAU) ||
(myDet->getDetectorsType() == slsDetectorDefs::JUNGFRAUCTB) ||
(myDet->getDetectorsType() == slsDetectorDefs::MOENCH)){ (myDet->getDetectorsType() == slsDetectorDefs::MOENCH)){
pagePedestal->setEnabled(true); pagePedestal->setEnabled(true);
pagePedestal_2->setEnabled(true); pagePedestal_2->setEnabled(true);

View File

@ -104,6 +104,7 @@ void qTabSettings::SetupDetectorSettings(){
int sett = (int)myDet->getSettings();cout<<"sett:"<<sett<<endl; int sett = (int)myDet->getSettings();cout<<"sett:"<<sett<<endl;
qDefs::checkErrorMessage(myDet,"qTabSettings::SetupDetectorSettings"); qDefs::checkErrorMessage(myDet,"qTabSettings::SetupDetectorSettings");
if(sett==-1) sett = Undefined; if(sett==-1) sett = Undefined;
if(detType == slsDetectorDefs::JUNGFRAUCTB && sett > slsDetectorDefs::UNDEFINED) sett = Uninitialized;
else if(sett == slsDetectorDefs::UNDEFINED) sett = Undefined; else if(sett == slsDetectorDefs::UNDEFINED) sett = Undefined;
else if(sett == slsDetectorDefs::UNINITIALIZED) sett = Uninitialized; else if(sett == slsDetectorDefs::UNINITIALIZED) sett = Uninitialized;
// To be able to index items on a combo box // To be able to index items on a combo box
@ -166,6 +167,7 @@ void qTabSettings::SetupDetectorSettings(){
item[(int)VeryLowGain]->setEnabled(false); item[(int)VeryLowGain]->setEnabled(false);
break; break;
case slsDetectorDefs::JUNGFRAU: case slsDetectorDefs::JUNGFRAU:
case slsDetectorDefs::JUNGFRAUCTB:
item[(int)Standard]->setEnabled(false); item[(int)Standard]->setEnabled(false);
item[(int)Fast]->setEnabled(false); item[(int)Fast]->setEnabled(false);
item[(int)HighGain]->setEnabled(false); item[(int)HighGain]->setEnabled(false);
@ -224,6 +226,7 @@ void qTabSettings::setSettings(int index){
disconnect(comboSettings, SIGNAL(currentIndexChanged(int)), this, SLOT(setSettings(int))); disconnect(comboSettings, SIGNAL(currentIndexChanged(int)), this, SLOT(setSettings(int)));
int sett = (int)myDet->getSettings(); int sett = (int)myDet->getSettings();
if(sett==-1) sett = Undefined; if(sett==-1) sett = Undefined;
if(detType == slsDetectorDefs::JUNGFRAUCTB && sett > slsDetectorDefs::UNDEFINED) sett = Uninitialized;
else if(sett == slsDetectorDefs::UNDEFINED) sett = Undefined; else if(sett == slsDetectorDefs::UNDEFINED) sett = Undefined;
else if(sett == slsDetectorDefs::UNINITIALIZED) sett = Uninitialized; else if(sett == slsDetectorDefs::UNINITIALIZED) sett = Uninitialized;
comboSettings->setCurrentIndex(sett); comboSettings->setCurrentIndex(sett);
@ -341,6 +344,7 @@ void qTabSettings::Refresh(){
#endif #endif
int sett = (int)myDet->getSettings(); int sett = (int)myDet->getSettings();
if(sett==-1) sett = Undefined;//slsDetectorDefs::UNDEFINED; if(sett==-1) sett = Undefined;//slsDetectorDefs::UNDEFINED;
if(detType == slsDetectorDefs::JUNGFRAUCTB && sett > slsDetectorDefs::UNDEFINED) sett = Uninitialized;
else if(sett == slsDetectorDefs::UNDEFINED) sett = Undefined; else if(sett == slsDetectorDefs::UNDEFINED) sett = Undefined;
else if(sett == slsDetectorDefs::UNINITIALIZED) sett = Uninitialized; else if(sett == slsDetectorDefs::UNINITIALIZED) sett = Uninitialized;
comboSettings->setCurrentIndex(sett); comboSettings->setCurrentIndex(sett);