mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-09 03:20:42 +02:00
added trimming checks
git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorGui@222 af1100a4-978c-4157-bff7-07162d2ba061
This commit is contained in:
parent
038d3c11df
commit
113ee269d4
@ -58,6 +58,11 @@ private:
|
|||||||
*/
|
*/
|
||||||
void AddROIInput(int num);
|
void AddROIInput(int num);
|
||||||
|
|
||||||
|
/** Checks for a few conditions before trimming
|
||||||
|
/returns OK or FAIL
|
||||||
|
*/
|
||||||
|
int validateBeforeTrimming();
|
||||||
|
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
|
|
||||||
@ -192,6 +197,10 @@ private:
|
|||||||
|
|
||||||
/** Trimming mode */
|
/** Trimming mode */
|
||||||
slsDetectorDefs::trimMode trimmingMode;
|
slsDetectorDefs::trimMode trimmingMode;
|
||||||
|
static const int TRIMMING_DYNAMIC_RANGE = 24;
|
||||||
|
static const int TRIMMING_FRAME_NUMBER = 1;
|
||||||
|
static const int TRIMMING_TRIGGER_NUMBER = 1;
|
||||||
|
static const int TRIMMING_PROBE_NUMBER = 0;
|
||||||
|
|
||||||
bool isEnergy;
|
bool isEnergy;
|
||||||
bool isAngular;
|
bool isAngular;
|
||||||
|
@ -20,7 +20,7 @@ QMAKE_LIBS = -L$(QTDIR)/lib
|
|||||||
#LIBS = -L$(QWTDIR)/lib -lqwt -L$(QWT3D)/lib -Wl,-R$(QWTDIR)/lib -L /usr/local/epics/base/lib/$(EPICS_HOST_ARCH)/ -Wl,-R/usr/local/epics/base/lib/$(EPICS_HOST_ARCH) -lca -lCom
|
#LIBS = -L$(QWTDIR)/lib -lqwt -L$(QWT3D)/lib -Wl,-R$(QWTDIR)/lib -L /usr/local/epics/base/lib/$(EPICS_HOST_ARCH)/ -Wl,-R/usr/local/epics/base/lib/$(EPICS_HOST_ARCH) -lca -lCom
|
||||||
|
|
||||||
#default
|
#default
|
||||||
DEFINES += VERBOSE DACS_INT PRINT_LOG THIS_PATH=\\\"$$PWD\\\" #VERYVERBOSE
|
DEFINES += VERBOSE DACS_INT PRINT_LOG THIS_PATH=\\\"$$PWD\\\" #VERYVERBOSE
|
||||||
LIBS = -L$(QWTDIR)/lib -lqwt -L$(QWT3D)/lib
|
LIBS = -L$(QWTDIR)/lib -lqwt -L$(QWT3D)/lib
|
||||||
|
|
||||||
|
|
||||||
|
@ -436,8 +436,101 @@ void qTabAdvanced::SetTrimmingMethod(int mode){
|
|||||||
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
void qTabAdvanced::StartTrimming(){
|
int qTabAdvanced::validateBeforeTrimming(){
|
||||||
|
#ifdef VERBOSE
|
||||||
|
cout << "Validating conditions before Trimming" << endl;
|
||||||
|
#endif
|
||||||
|
char temp[100];
|
||||||
|
switch(detType){
|
||||||
|
case slsDetectorDefs::MYTHEN:
|
||||||
|
|
||||||
|
//dynamic range
|
||||||
|
if(myDet->setDynamicRange(-1) != TRIMMING_DYNAMIC_RANGE){
|
||||||
|
sprintf(temp,"%d",TRIMMING_DYNAMIC_RANGE);
|
||||||
|
if(myDet->setDynamicRange(TRIMMING_DYNAMIC_RANGE) != TRIMMING_DYNAMIC_RANGE){
|
||||||
|
qDefs::Message(qDefs::WARNING,
|
||||||
|
string("<nobr>Trimming Pre-condition not satisfied:</nobr><br>"
|
||||||
|
"<nobr>Could not set dynamic range to ") + string(temp)+string(".</nobr><br>"
|
||||||
|
"Trimming Aborted."),"qTabAdvanced::validateBeforeTrimming");
|
||||||
|
return slsDetectorDefs::FAIL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//frames
|
||||||
|
if((int)myDet->setTimer(slsDetectorDefs::FRAME_NUMBER,-1) != 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("<nobr>Trimming Pre-condition not satisfied:</nobr><br>"
|
||||||
|
"<nobr>Could not set <b>Number of Frames</b> to ") + string(temp)+string(".</nobr><br>"
|
||||||
|
"Trimming Aborted."),"qTabAdvanced::validateBeforeTrimming");
|
||||||
|
return slsDetectorDefs::FAIL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//trigger
|
||||||
|
if((int)myDet->setTimer(slsDetectorDefs::CYCLES_NUMBER,-1) != 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("<nobr>Trimming Pre-condition not satisfied:</nobr><br>"
|
||||||
|
"<nobr>Could not set <b>Number of Triggers</b> to ") + string(temp)+string(".</nobr><br>"
|
||||||
|
"Trimming Aborted."),"qTabAdvanced::validateBeforeTrimming");
|
||||||
|
return slsDetectorDefs::FAIL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//probes
|
||||||
|
if((int)myDet->setTimer(slsDetectorDefs::PROBES_NUMBER,-1) != 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("<nobr>Trimming Pre-condition not satisfied:</nobr><br>"
|
||||||
|
"<nobr>Could not set <b>Number of Probes</b> to ") + string(temp)+string(".</nobr><br>"
|
||||||
|
"Trimming Aborted."),"qTabAdvanced::validateBeforeTrimming");
|
||||||
|
return slsDetectorDefs::FAIL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Setting
|
||||||
|
if((int)myDet->getSettings() == slsDetectorDefs::UNINITIALIZED){
|
||||||
|
if(qDefs::Message(qDefs::QUESTION,
|
||||||
|
string("<nobr>Trimming Pre-condition not satisfied:</nobr><br>")+
|
||||||
|
string("<nobr><b>Settings</b> cannot be <b>Uninitialized</b> to start Trimming.</nobr><br>"
|
||||||
|
"Change it to <b>Standard</b> and proceed?"),"qTabAdvanced::validateBeforeTrimming") == slsDetectorDefs::FAIL){
|
||||||
|
qDefs::Message(qDefs::INFORMATION,
|
||||||
|
"<nobr>Please change the <b>Settings</b> in the Settings tab to your choice.</nobr><br>"
|
||||||
|
"Aborting Trimming.","qTabAdvanced::validateBeforeTrimming");
|
||||||
|
return slsDetectorDefs::FAIL;
|
||||||
|
}
|
||||||
|
//user asked to change settings to standard
|
||||||
|
else{
|
||||||
|
if((int)myDet->setSettings(slsDetectorDefs::STANDARD) != slsDetectorDefs::STANDARD){
|
||||||
|
qDefs::Message(qDefs::WARNING,
|
||||||
|
string("<nobr>Trimming Pre-condition not satisfied:</nobr><br>"
|
||||||
|
"<nobr>Could not change <b>Settings</b> to <b>Standard</b></nobr><br>"
|
||||||
|
"Trimming Aborted."),"qTabAdvanced::validateBeforeTrimming");
|
||||||
|
return slsDetectorDefs::FAIL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
qDefs::Message(qDefs::INFORMATION,"<nobr>All conditions satisfied for Trimming.</nobr><br>"
|
||||||
|
"<nobr>Initiating Trimming...</nobr>","qTabAdvanced::validateBeforeTrimming");
|
||||||
|
return slsDetectorDefs::OK;
|
||||||
|
default:
|
||||||
|
return slsDetectorDefs::FAIL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
void qTabAdvanced::StartTrimming(){
|
||||||
|
//check a few conditions before trimming
|
||||||
|
if(validateBeforeTrimming() == slsDetectorDefs::FAIL)
|
||||||
|
return;
|
||||||
|
|
||||||
|
#ifdef VERBOSE
|
||||||
|
cout << "Starting Trimming" << endl;
|
||||||
|
#endif
|
||||||
int parameter1=0, parameter2=0;
|
int parameter1=0, parameter2=0;
|
||||||
//optimize
|
//optimize
|
||||||
bool optimize = chkOptimize->isChecked();
|
bool optimize = chkOptimize->isChecked();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user