diff --git a/slsDetectorGui/forms/form_tab_plot.ui b/slsDetectorGui/forms/form_tab_plot.ui
index 29893eb4b..c6848218c 100644
--- a/slsDetectorGui/forms/form_tab_plot.ui
+++ b/slsDetectorGui/forms/form_tab_plot.ui
@@ -1250,7 +1250,7 @@
10
20
- 348
+ 346
26
@@ -1284,7 +1284,7 @@
- 9
+ 7
10
@@ -1313,7 +1313,7 @@
- 9
+ 7
10
@@ -1342,7 +1342,7 @@
- 9
+ 7
10
diff --git a/slsDetectorGui/forms/form_tab_settings.ui b/slsDetectorGui/forms/form_tab_settings.ui
index a9dcf980c..404dfcfba 100644
--- a/slsDetectorGui/forms/form_tab_settings.ui
+++ b/slsDetectorGui/forms/form_tab_settings.ui
@@ -95,6 +95,11 @@
Very High Gain
+ -
+
+ Low Noise
+
+
-
Undefined
diff --git a/slsDetectorGui/include/qTabSettings.h b/slsDetectorGui/include/qTabSettings.h
index 90c901910..e397c606f 100644
--- a/slsDetectorGui/include/qTabSettings.h
+++ b/slsDetectorGui/include/qTabSettings.h
@@ -57,7 +57,7 @@ private:
/** expert mode */
bool expertMode;
- enum{Standard,Fast,HighGain,DynamicGain,LowGain,MediumGain,VeryHighGain,Undefined,Uninitialized,NumSettings};
+ enum{Standard,Fast,HighGain,DynamicGain,LowGain,MediumGain,VeryHighGain,LowNoise,Undefined,Uninitialized,NumSettings};
/** To be able to index items on a combo box */
QStandardItemModel* model;
diff --git a/slsDetectorGui/src/qTabAdvanced.cpp b/slsDetectorGui/src/qTabAdvanced.cpp
index 71bb545d9..16231733d 100644
--- a/slsDetectorGui/src/qTabAdvanced.cpp
+++ b/slsDetectorGui/src/qTabAdvanced.cpp
@@ -97,7 +97,7 @@ void qTabAdvanced::SetupWidgetWindow(){
}
- //logs
+ //logs and trimming
if(!isAngular && !isEnergy) boxLogs->setEnabled(false);
else{
if(!isAngular) chkAngularLog->setEnabled(false);
@@ -114,7 +114,7 @@ void qTabAdvanced::SetupWidgetWindow(){
btnGroup->addButton(btnGetTrimbits,1);
}
}
-
+ trimmingMode = slsDetectorDefs::NOISE_TRIMMING;
//network
@@ -302,12 +302,12 @@ void qTabAdvanced::SetThreshold(){
void qTabAdvanced::SetOutputFile(){
#ifdef VERBOSE
- cout << "Setting Output File for Trimming" << endl;
+ cout << "Setting Output File for Trimming:" << endl;
#endif
QString dirPath = dispFile->text().section('/',0,-2,QString::SectionIncludeLeadingSep);
- cout<<"directory:"<text().section('/',-1);
- cout<<"file name:"<text();
//dialog
@@ -441,6 +441,7 @@ int qTabAdvanced::validateBeforeTrimming(){
cout << "Validating conditions before Trimming" << endl;
#endif
char temp[100];
+ string message = "All conditions satisfied for Trimming.
";
switch(detType){
case slsDetectorDefs::MYTHEN:
@@ -451,45 +452,49 @@ int qTabAdvanced::validateBeforeTrimming(){
qDefs::Message(qDefs::WARNING,
string("Trimming Pre-condition not satisfied:
"
"Could not set dynamic range to ") + string(temp)+string(".
"
- "Trimming Aborted."),"qTabAdvanced::validateBeforeTrimming");
+ "Trimming Aborted."),"qTabAdvanced::validateBeforeTrimming");
return slsDetectorDefs::FAIL;
- }
+ }else
+ message.append(string("Dynamic Range has been changed to ") + string(temp) + string(".
"));
}
//frames
if((int)myDet->setTimer(slsDetectorDefs::FRAME_NUMBER,-1) != TRIMMING_FRAME_NUMBER){
+ sprintf(temp,"%d",TRIMMING_FRAME_NUMBER);
if((int)myDet->setTimer(slsDetectorDefs::FRAME_NUMBER,TRIMMING_FRAME_NUMBER) != TRIMMING_FRAME_NUMBER){
- sprintf(temp,"%d",TRIMMING_FRAME_NUMBER);
qDefs::Message(qDefs::WARNING,
string("Trimming Pre-condition not satisfied:
"
"Could not set Number of Frames to ") + string(temp)+string(".
"
- "Trimming Aborted."),"qTabAdvanced::validateBeforeTrimming");
+ "Trimming Aborted."),"qTabAdvanced::validateBeforeTrimming");
return slsDetectorDefs::FAIL;
- }
+ }else
+ message.append(string("Number of Frames has been changed to ") + string(temp) + string(".
"));
}
//trigger
if((int)myDet->setTimer(slsDetectorDefs::CYCLES_NUMBER,-1) != TRIMMING_TRIGGER_NUMBER){
+ sprintf(temp,"%d",TRIMMING_TRIGGER_NUMBER);
if((int)myDet->setTimer(slsDetectorDefs::CYCLES_NUMBER,TRIMMING_TRIGGER_NUMBER) != TRIMMING_TRIGGER_NUMBER){
- sprintf(temp,"%d",TRIMMING_TRIGGER_NUMBER);
qDefs::Message(qDefs::WARNING,
string("Trimming Pre-condition not satisfied:
"
"Could not set Number of Triggers to ") + string(temp)+string(".
"
- "Trimming Aborted."),"qTabAdvanced::validateBeforeTrimming");
+ "Trimming Aborted."),"qTabAdvanced::validateBeforeTrimming");
return slsDetectorDefs::FAIL;
- }
+ }else
+ message.append(string("Number of Triggers has been changed to ") + string(temp) + string(".
"));
}
//probes
if((int)myDet->setTimer(slsDetectorDefs::PROBES_NUMBER,-1) != TRIMMING_PROBE_NUMBER){
+ sprintf(temp,"%d",TRIMMING_PROBE_NUMBER);
if((int)myDet->setTimer(slsDetectorDefs::PROBES_NUMBER,TRIMMING_PROBE_NUMBER) != TRIMMING_PROBE_NUMBER){
- sprintf(temp,"%d",TRIMMING_PROBE_NUMBER);
qDefs::Message(qDefs::WARNING,
string("Trimming Pre-condition not satisfied:
"
"Could not set Number of Probes to ") + string(temp)+string(".
"
- "Trimming Aborted."),"qTabAdvanced::validateBeforeTrimming");
+ "Trimming Aborted."),"qTabAdvanced::validateBeforeTrimming");
return slsDetectorDefs::FAIL;
- }
+ }else
+ message.append(string("Number of Probes has been changed to ") + string(temp) + string(".
"));
}
//Setting
- if((int)myDet->getSettings() == slsDetectorDefs::UNINITIALIZED){
+ if(myDet->getSettings() == slsDetectorDefs::UNINITIALIZED){
if(qDefs::Message(qDefs::QUESTION,
string("Trimming Pre-condition not satisfied:
")+
string("Settings cannot be Uninitialized to start Trimming.
"
@@ -507,16 +512,20 @@ int qTabAdvanced::validateBeforeTrimming(){
"Could not change Settings to Standard
"
"Trimming Aborted."),"qTabAdvanced::validateBeforeTrimming");
return slsDetectorDefs::FAIL;
- }
+ }else
+ message.append(string("Settings has been changed to Standard.
"));
}
}
-
- qDefs::Message(qDefs::INFORMATION,"All conditions satisfied for Trimming.
"
- "Initiating Trimming...","qTabAdvanced::validateBeforeTrimming");
- return slsDetectorDefs::OK;
+ break;
default:
return slsDetectorDefs::FAIL;
+
}
+
+ message.append("Initiating Trimming...");
+ qDefs::Message(qDefs::INFORMATION,message,"qTabAdvanced::validateBeforeTrimming");
+ return slsDetectorDefs::OK;
+
}
@@ -565,7 +574,7 @@ void qTabAdvanced::StartTrimming(){
if(!optimize) parameter2 = 0;
break;
default:
- cout << "Should never come here. Start Trimming will have only 2 methods." << endl;
+ cout << "Should never come here. Start Trimming will have only 2 methods. Trimming Method:" << trimmingMode << endl;
break;
}
diff --git a/slsDetectorGui/src/qTabSettings.cpp b/slsDetectorGui/src/qTabSettings.cpp
index 2989be257..4415aa333 100644
--- a/slsDetectorGui/src/qTabSettings.cpp
+++ b/slsDetectorGui/src/qTabSettings.cpp
@@ -93,15 +93,17 @@ void qTabSettings::SetupDetectorSettings(){
item[(int)LowGain]->setEnabled(false);
item[(int)MediumGain]->setEnabled(false);
item[(int)VeryHighGain]->setEnabled(false);
+ item[(int)LowNoise]->setEnabled(false);
break;
case slsDetectorDefs::EIGER:
- item[(int)Standard]->setEnabled(false);
+ item[(int)Standard]->setEnabled(true);
item[(int)Fast]->setEnabled(false);
- item[(int)HighGain]->setEnabled(false);
+ item[(int)HighGain]->setEnabled(true);
item[(int)DynamicGain]->setEnabled(false);
item[(int)LowGain]->setEnabled(false);
item[(int)MediumGain]->setEnabled(false);
item[(int)VeryHighGain]->setEnabled(false);
+ item[(int)LowNoise]->setEnabled(true);
break;
case slsDetectorDefs::MOENCH:
case slsDetectorDefs::GOTTHARD:
@@ -112,6 +114,7 @@ void qTabSettings::SetupDetectorSettings(){
item[(int)LowGain]->setEnabled(true);
item[(int)MediumGain]->setEnabled(true);
item[(int)VeryHighGain]->setEnabled(true);
+ item[(int)LowNoise]->setEnabled(false);
break;
default:
qDefs::Message(qDefs::CRITICAL,"Unknown detector type. Exiting GUI.","qTabSettings::SetupDetectorSettings");