mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-07 10:30:41 +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);
|
||||
|
||||
/** Checks for a few conditions before trimming
|
||||
/returns OK or FAIL
|
||||
*/
|
||||
int validateBeforeTrimming();
|
||||
|
||||
|
||||
private slots:
|
||||
|
||||
@ -192,6 +197,10 @@ private:
|
||||
|
||||
/** Trimming mode */
|
||||
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 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
|
||||
|
||||
#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
|
||||
|
||||
|
||||
|
@ -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;
|
||||
//optimize
|
||||
bool optimize = chkOptimize->isChecked();
|
||||
|
Loading…
x
Reference in New Issue
Block a user