mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-21 03:10:02 +02:00
adjusted gui for moench and proper 2d plots, which are not scans for 1ds
git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorGui@172 af1100a4-978c-4157-bff7-07162d2ba061
This commit is contained in:
parent
050bec703d
commit
c605c77037
@ -255,6 +255,20 @@ static const int64_t GUI_VERSION=0x20121213;
|
|||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
/** scan arguments*/
|
||||||
|
enum scanArgumentList{
|
||||||
|
None,
|
||||||
|
Level0,
|
||||||
|
Level1,
|
||||||
|
FileIndex,
|
||||||
|
AllFrames
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -125,8 +125,7 @@ public:
|
|||||||
* and this is reset when the gui really starts/stops- to know when to return
|
* and this is reset when the gui really starts/stops- to know when to return
|
||||||
*/
|
*/
|
||||||
bool GetClientInitiated(){return clientInitiated;};
|
bool GetClientInitiated(){return clientInitiated;};
|
||||||
/** Unzoom plot 2d as it will affect scans */
|
|
||||||
void plot2DUnzoom();
|
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
/** To select 1D or 2D plot
|
/** To select 1D or 2D plot
|
||||||
@ -460,7 +459,6 @@ bool isFrameEnabled;
|
|||||||
bool isTriggerEnabled;
|
bool isTriggerEnabled;
|
||||||
|
|
||||||
/** scan arguments*/
|
/** scan arguments*/
|
||||||
enum scanArgumentList{None,Level0,Level1,FileIndex,AllFrames};
|
|
||||||
int scanArgument;
|
int scanArgument;
|
||||||
|
|
||||||
/** enable angle plot */
|
/** enable angle plot */
|
||||||
@ -482,6 +480,10 @@ bool backwardScanPlot;
|
|||||||
bool fileSaveEnable;
|
bool fileSaveEnable;
|
||||||
|
|
||||||
|
|
||||||
|
/** true of originally 2d */
|
||||||
|
bool originally2D;
|
||||||
|
|
||||||
|
|
||||||
//pedstal
|
//pedstal
|
||||||
/** Number of pedestal frames*/
|
/** Number of pedestal frames*/
|
||||||
static const int NUM_PEDESTAL_FRAMES = 20;
|
static const int NUM_PEDESTAL_FRAMES = 20;
|
||||||
|
@ -2,10 +2,10 @@
|
|||||||
#define SVNURL "file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorGui"
|
#define SVNURL "file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorGui"
|
||||||
//#define SVNREPPATH ""
|
//#define SVNREPPATH ""
|
||||||
#define SVNREPUUID "af1100a4-978c-4157-bff7-07162d2ba061"
|
#define SVNREPUUID "af1100a4-978c-4157-bff7-07162d2ba061"
|
||||||
//#define SVNREV 0x167
|
//#define SVNREV 0x171
|
||||||
//#define SVNKIND ""
|
//#define SVNKIND ""
|
||||||
//#define SVNSCHED ""
|
//#define SVNSCHED ""
|
||||||
#define SVNAUTH "l_maliakal_d"
|
#define SVNAUTH "l_maliakal_d"
|
||||||
#define SVNREV 0x167
|
#define SVNREV 0x171
|
||||||
#define SVNDATE 0x20130315
|
#define SVNDATE 0x20130410
|
||||||
//
|
//
|
||||||
|
@ -255,11 +255,14 @@ void SlsQt2DPlot::Update(){
|
|||||||
|
|
||||||
|
|
||||||
setAxisScale(QwtPlot::yRight,zInterval.minValue(), zInterval.maxValue());
|
setAxisScale(QwtPlot::yRight,zInterval.minValue(), zInterval.maxValue());
|
||||||
|
#ifdef VERYVERBOSE
|
||||||
cout << "axis scale set" << endl;
|
cout << "axis scale set" << endl;
|
||||||
|
#endif
|
||||||
plotLayout()->setAlignCanvasToScales(true);
|
plotLayout()->setAlignCanvasToScales(true);
|
||||||
|
#ifdef VERYVERBOSE
|
||||||
cout << "layout" << endl;
|
cout << "layout" << endl;
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
#ifdef VERYVERBOSE
|
#ifdef VERYVERBOSE
|
||||||
cout << "going to replot" << endl;
|
cout << "going to replot" << endl;
|
||||||
#endif
|
#endif
|
||||||
|
@ -231,6 +231,7 @@ void qDetectorMain::SetUpDetector(const string fName){
|
|||||||
case slsDetectorDefs::EIGER: break;
|
case slsDetectorDefs::EIGER: break;
|
||||||
case slsDetectorDefs::GOTTHARD: actionLoadTrimbits->setText("Load Settings"); actionSaveTrimbits->setText("Save Settings"); break;
|
case slsDetectorDefs::GOTTHARD: actionLoadTrimbits->setText("Load Settings"); actionSaveTrimbits->setText("Save Settings"); break;
|
||||||
case slsDetectorDefs::AGIPD: actionLoadTrimbits->setText("Load Settings"); actionSaveTrimbits->setText("Save Settings"); break;
|
case slsDetectorDefs::AGIPD: actionLoadTrimbits->setText("Load Settings"); actionSaveTrimbits->setText("Save Settings"); break;
|
||||||
|
case slsDetectorDefs::MOENCH: actionLoadTrimbits->setText("Load Settings"); actionSaveTrimbits->setText("Save Settings"); break;
|
||||||
default:
|
default:
|
||||||
string detName = myDet->slsDetectorBase::getDetectorType(detType);
|
string detName = myDet->slsDetectorBase::getDetectorType(detType);
|
||||||
qDefs::checkErrorMessage(myDet);
|
qDefs::checkErrorMessage(myDet);
|
||||||
|
@ -60,6 +60,19 @@ void qDrawPlot::SetupWidgetWindow(){
|
|||||||
#ifdef VERBOSE
|
#ifdef VERBOSE
|
||||||
cout << "Setting up plot variables" << endl;
|
cout << "Setting up plot variables" << endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Depending on whether the detector is 1d or 2d
|
||||||
|
switch(myDet->getDetectorsType()){
|
||||||
|
case slsDetectorDefs::MYTHEN: originally2D = false; break;
|
||||||
|
case slsDetectorDefs::EIGER: originally2D = true; break;
|
||||||
|
case slsDetectorDefs::GOTTHARD: originally2D = false; break;
|
||||||
|
case slsDetectorDefs::MOENCH: originally2D = true; break;
|
||||||
|
default:
|
||||||
|
cout << "ERROR: Detector Type is Generic" << endl;
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
data_pause_over = true;//to get the first image
|
data_pause_over = true;//to get the first image
|
||||||
|
|
||||||
currentMeasurement = 0;
|
currentMeasurement = 0;
|
||||||
@ -95,8 +108,8 @@ void qDrawPlot::SetupWidgetWindow(){
|
|||||||
plotTitle = "";
|
plotTitle = "";
|
||||||
plotTitle_prefix = "";
|
plotTitle_prefix = "";
|
||||||
plot_in_scope = 0;
|
plot_in_scope = 0;
|
||||||
nPixelsX = myDet->getTotalNumberOfChannels();
|
nPixelsX = myDet->getTotalNumberOfChannels(slsDetectorDefs::X); cout<<"nPixelsX:"<<nPixelsX<<endl;
|
||||||
nPixelsY = 100;
|
nPixelsY = myDet->getTotalNumberOfChannels(slsDetectorDefs::Y); cout<<"nPixelsY:"<<nPixelsY<<endl;
|
||||||
nAnglePixelsX = 1;
|
nAnglePixelsX = 1;
|
||||||
minPixelsY = 0;
|
minPixelsY = 0;
|
||||||
maxPixelsY = 0;
|
maxPixelsY = 0;
|
||||||
@ -154,7 +167,7 @@ void qDrawPlot::SetupWidgetWindow(){
|
|||||||
isFrameEnabled = false;
|
isFrameEnabled = false;
|
||||||
isTriggerEnabled = false;
|
isTriggerEnabled = false;
|
||||||
|
|
||||||
scanArgument = None;
|
scanArgument = qDefs::None;
|
||||||
anglePlot = false;
|
anglePlot = false;
|
||||||
alreadyDisplayed = false;
|
alreadyDisplayed = false;
|
||||||
|
|
||||||
@ -406,8 +419,9 @@ bool qDrawPlot::StartOrStopThread(bool start){
|
|||||||
//sets up the measurement parameters
|
//sets up the measurement parameters
|
||||||
SetupMeasurement();
|
SetupMeasurement();
|
||||||
|
|
||||||
//refixing all the min and max for 2ds if zoomed in
|
//refixing all the min and max for all scans
|
||||||
if (scanArgument != None)
|
if (scanArgument == qDefs::None);
|
||||||
|
else
|
||||||
plot2D->GetPlot()->SetZoom(-0.5,startPixel,nPixelsX,endPixel-startPixel);
|
plot2D->GetPlot()->SetZoom(-0.5,startPixel,nPixelsX,endPixel-startPixel);
|
||||||
|
|
||||||
|
|
||||||
@ -432,7 +446,7 @@ bool qDrawPlot::StartOrStopThread(bool start){
|
|||||||
|
|
||||||
void qDrawPlot::SetScanArgument(int scanArg){
|
void qDrawPlot::SetScanArgument(int scanArg){
|
||||||
#ifdef VERBOSE
|
#ifdef VERBOSE
|
||||||
cout << "SetScanArgument function:" << running << endl;
|
cout << "SetScanArgument function:" << scanArg << " running:" << running << endl;
|
||||||
#endif
|
#endif
|
||||||
scanArgument = scanArg;
|
scanArgument = scanArg;
|
||||||
|
|
||||||
@ -442,11 +456,11 @@ void qDrawPlot::SetScanArgument(int scanArg){
|
|||||||
LockLastImageArray();
|
LockLastImageArray();
|
||||||
|
|
||||||
|
|
||||||
nPixelsX = myDet->getTotalNumberOfChannels();
|
nPixelsX = myDet->getTotalNumberOfChannels(slsDetectorDefs::X);
|
||||||
nPixelsY = 100;//if number of exposures, this should be checked before acquisition
|
nPixelsY = myDet->getTotalNumberOfChannels(slsDetectorDefs::Y);
|
||||||
|
|
||||||
//cannot do this in between measurements , so update instantly
|
//cannot do this in between measurements , so update instantly
|
||||||
if(scanArgument==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
|
||||||
int numSteps = myDet->getScanSteps(0);
|
int numSteps = myDet->getScanSteps(0);
|
||||||
double *values = new double[numSteps];
|
double *values = new double[numSteps];
|
||||||
@ -455,7 +469,7 @@ void qDrawPlot::SetScanArgument(int scanArg){
|
|||||||
maxPixelsY = values[numSteps-1];
|
maxPixelsY = values[numSteps-1];
|
||||||
minPixelsY = values[0];
|
minPixelsY = values[0];
|
||||||
nPixelsY = numSteps;
|
nPixelsY = numSteps;
|
||||||
}else if(scanArgument==Level1) {
|
}else if(scanArgument==qDefs::Level1) {
|
||||||
//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
|
||||||
int numSteps = myDet->getScanSteps(1);
|
int numSteps = myDet->getScanSteps(1);
|
||||||
double *values = new double[numSteps];
|
double *values = new double[numSteps];
|
||||||
@ -522,9 +536,8 @@ void qDrawPlot::SetupMeasurement(){
|
|||||||
for(int px=0;px<(int)nPixelsX;px++)
|
for(int px=0;px<(int)nPixelsX;px++)
|
||||||
lastImageArray[py*nPixelsX+px] = 0;
|
lastImageArray[py*nPixelsX+px] = 0;
|
||||||
|
|
||||||
|
//1d with no scan
|
||||||
//no scan
|
if ((!originally2D) && (scanArgument==qDefs::None)){
|
||||||
if(scanArgument==None){
|
|
||||||
if(!running){
|
if(!running){
|
||||||
maxPixelsY = 100;
|
maxPixelsY = 100;
|
||||||
minPixelsY = 0;
|
minPixelsY = 0;
|
||||||
@ -532,13 +545,20 @@ void qDrawPlot::SetupMeasurement(){
|
|||||||
endPixel = nPixelsY-0.5;
|
endPixel = nPixelsY-0.5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {//all frames
|
else {
|
||||||
if(scanArgument==AllFrames){
|
//2d with no scan
|
||||||
|
if ((originally2D) && (scanArgument==qDefs::None)){
|
||||||
|
maxPixelsY = nPixelsY;
|
||||||
|
minPixelsY = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
//all frames
|
||||||
|
else if(scanArgument==qDefs::AllFrames){
|
||||||
maxPixelsY = number_of_exposures - 1;
|
maxPixelsY = number_of_exposures - 1;
|
||||||
minPixelsY = 0;
|
minPixelsY = 0;
|
||||||
if(!running) nPixelsY = number_of_exposures;
|
if(!running) nPixelsY = number_of_exposures;
|
||||||
}//file index
|
}//file index
|
||||||
else if(scanArgument==FileIndex){
|
else if(scanArgument==qDefs::FileIndex){
|
||||||
maxPixelsY = number_of_frames - 1;
|
maxPixelsY = number_of_frames - 1;
|
||||||
minPixelsY = 0;
|
minPixelsY = 0;
|
||||||
if(!running) nPixelsY = number_of_frames;
|
if(!running) nPixelsY = number_of_frames;
|
||||||
@ -563,13 +583,14 @@ void qDrawPlot::SetupMeasurement(){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
cout<<"nPixelsX:"<<nPixelsX<<endl;
|
cout<<"nPixelsX:"<<nPixelsX<<endl;
|
||||||
cout<<"nPixelsY:"<<nPixelsY<<endl;
|
cout<<"nPixelsY:"<<nPixelsY<<endl;
|
||||||
cout<<"minPixelsY:"<<minPixelsY<<endl;
|
cout<<"minPixelsY:"<<minPixelsY<<endl;
|
||||||
cout<<"maxPixelsY:"<<maxPixelsY<<endl;
|
cout<<"maxPixelsY:"<<maxPixelsY<<endl;
|
||||||
cout<<"startPixel:"<<startPixel<<endl;
|
cout<<"startPixel:"<<startPixel<<endl;
|
||||||
cout<<"endPixel:"<<endPixel<<endl<<endl;
|
cout<<"endPixel:"<<endPixel<<endl<<endl;
|
||||||
|
*/
|
||||||
UnlockLastImageArray();
|
UnlockLastImageArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -684,9 +705,9 @@ int qDrawPlot::GetData(detectorData *data,int fIndex){
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
//Not Nth Frame, to check time out(NOT for 2dScans and angle plots)
|
//Not Nth Frame, to check time out(NOT for Scans and angle plots)
|
||||||
else{
|
else{
|
||||||
if(scanArgument==None){
|
if (scanArgument == qDefs::None) {
|
||||||
//if the time is not over, RETURN
|
//if the time is not over, RETURN
|
||||||
if(!data_pause_over){
|
if(!data_pause_over){
|
||||||
return 0;
|
return 0;
|
||||||
@ -699,77 +720,77 @@ int qDrawPlot::GetData(detectorData *data,int fIndex){
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
//if scan argument is 2d
|
//if scan
|
||||||
if(scanArgument!=None){
|
//alframes
|
||||||
//alframes
|
if(scanArgument==qDefs::AllFrames){
|
||||||
if(scanArgument==AllFrames){
|
while(1){
|
||||||
while(1){
|
if(!pthread_mutex_trylock(&(last_image_complete_mutex))){
|
||||||
if(!pthread_mutex_trylock(&(last_image_complete_mutex))){
|
//set title
|
||||||
//set title
|
plotTitle=QString(plotTitle_prefix)+QString(data->fileName).section('/',-1);
|
||||||
plotTitle=QString(plotTitle_prefix)+QString(data->fileName).section('/',-1);
|
//variables
|
||||||
//variables
|
lastImageNumber= currentFrame+1;
|
||||||
lastImageNumber= currentFrame+1;
|
//title
|
||||||
//title
|
imageTitle = temp_title;
|
||||||
imageTitle = temp_title;
|
//copy data
|
||||||
//copy data
|
memcpy(lastImageArray+(currentScanDivLevel*nPixelsX),data->values,nPixelsX*sizeof(double));
|
||||||
memcpy(lastImageArray+(currentScanDivLevel*nPixelsX),data->values,nPixelsX*sizeof(double));
|
pthread_mutex_unlock(&(last_image_complete_mutex));
|
||||||
pthread_mutex_unlock(&(last_image_complete_mutex));
|
break;
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
currentFrame++;
|
|
||||||
currentScanDivLevel++;
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
//file index
|
currentFrame++;
|
||||||
if(scanArgument==FileIndex){
|
currentScanDivLevel++;
|
||||||
while(1){
|
return 0;
|
||||||
if(!pthread_mutex_trylock(&(last_image_complete_mutex))){
|
}
|
||||||
//set title
|
//file index
|
||||||
plotTitle=QString(plotTitle_prefix)+QString(data->fileName).section('/',-1);
|
if(scanArgument==qDefs::FileIndex){
|
||||||
//variables
|
while(1){
|
||||||
if(currentFrameIndex == 0) currentScanDivLevel = 0;
|
if(!pthread_mutex_trylock(&(last_image_complete_mutex))){
|
||||||
lastImageNumber= currentFrame+1;
|
//set title
|
||||||
//title
|
plotTitle=QString(plotTitle_prefix)+QString(data->fileName).section('/',-1);
|
||||||
imageTitle = temp_title;
|
//variables
|
||||||
//copy data
|
if(currentFrameIndex == 0) currentScanDivLevel = 0;
|
||||||
for(unsigned int px=0;px<nPixelsX;px++) lastImageArray[currentScanDivLevel*nPixelsX+px] += data->values[px];
|
lastImageNumber= currentFrame+1;
|
||||||
pthread_mutex_unlock(&(last_image_complete_mutex));
|
//title
|
||||||
break;
|
imageTitle = temp_title;
|
||||||
}
|
//copy data
|
||||||
|
for(unsigned int px=0;px<nPixelsX;px++) lastImageArray[currentScanDivLevel*nPixelsX+px] += data->values[px];
|
||||||
|
pthread_mutex_unlock(&(last_image_complete_mutex));
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
currentFrame++;
|
|
||||||
currentScanDivLevel++;
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
//level0
|
currentFrame++;
|
||||||
if(scanArgument==Level0){
|
currentScanDivLevel++;
|
||||||
while(1){
|
return 0;
|
||||||
if(!pthread_mutex_trylock(&(last_image_complete_mutex))){
|
}
|
||||||
//set title
|
//level0
|
||||||
plotTitle=QString(plotTitle_prefix)+QString(data->fileName).section('/',-1);
|
if(scanArgument==qDefs::Level0){
|
||||||
//get scanvariable0
|
while(1){
|
||||||
int ci = 0, fi = 0, p = 0, di = 0; double cs0 = 0 , cs1 = 0;
|
if(!pthread_mutex_trylock(&(last_image_complete_mutex))){
|
||||||
fileIOStatic::getVariablesFromFileName(string(data->fileName), ci, fi, p, cs0, cs1, di);
|
//set title
|
||||||
//variables
|
plotTitle=QString(plotTitle_prefix)+QString(data->fileName).section('/',-1);
|
||||||
if(cs0!=currentScanValue) {
|
//get scanvariable0
|
||||||
if(backwardScanPlot) currentScanDivLevel--;
|
int ci = 0, fi = 0, p = 0, di = 0; double cs0 = 0 , cs1 = 0;
|
||||||
else currentScanDivLevel++;
|
fileIOStatic::getVariablesFromFileName(string(data->fileName), ci, fi, p, cs0, cs1, di);
|
||||||
}
|
//variables
|
||||||
currentScanValue = cs0;
|
if(cs0!=currentScanValue) {
|
||||||
lastImageNumber= currentFrame+1;
|
if(backwardScanPlot) currentScanDivLevel--;
|
||||||
//title
|
else currentScanDivLevel++;
|
||||||
imageTitle = temp_title;
|
|
||||||
//copy data
|
|
||||||
for(unsigned int px=0;px<nPixelsX;px++) lastImageArray[currentScanDivLevel*nPixelsX+px] += data->values[px];
|
|
||||||
pthread_mutex_unlock(&(last_image_complete_mutex));
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
currentScanValue = cs0;
|
||||||
|
lastImageNumber= currentFrame+1;
|
||||||
|
//title
|
||||||
|
imageTitle = temp_title;
|
||||||
|
//copy data
|
||||||
|
for(unsigned int px=0;px<nPixelsX;px++) lastImageArray[currentScanDivLevel*nPixelsX+px] += data->values[px];
|
||||||
|
pthread_mutex_unlock(&(last_image_complete_mutex));
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
currentFrame++;
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
//level1
|
currentFrame++;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
//level1
|
||||||
|
if(scanArgument==qDefs::Level1){
|
||||||
while(1){
|
while(1){
|
||||||
if(!pthread_mutex_trylock(&(last_image_complete_mutex))){
|
if(!pthread_mutex_trylock(&(last_image_complete_mutex))){
|
||||||
//set title
|
//set title
|
||||||
@ -794,9 +815,10 @@ int qDrawPlot::GetData(detectorData *data,int fIndex){
|
|||||||
}
|
}
|
||||||
currentFrame++;
|
currentFrame++;
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//normal measurement or 1d scans
|
//normal measurement or 1d scans
|
||||||
if(!pthread_mutex_trylock(&(last_image_complete_mutex))){
|
if(!pthread_mutex_trylock(&(last_image_complete_mutex))){
|
||||||
//set title
|
//set title
|
||||||
@ -846,15 +868,17 @@ int qDrawPlot::GetData(detectorData *data,int fIndex){
|
|||||||
|
|
||||||
}
|
}
|
||||||
//2d
|
//2d
|
||||||
else{cout<<endl<<"****************************IN HERE-2D*******************************************"<<endl<<endl;
|
else{
|
||||||
// Titles
|
// Titles
|
||||||
imageTitle = temp_title;
|
imageTitle = temp_title;
|
||||||
// manufacture data for now
|
// manufacture data for now
|
||||||
|
/*
|
||||||
for(unsigned int px=0;px<nPixelsX;px++)
|
for(unsigned int px=0;px<nPixelsX;px++)
|
||||||
for(unsigned int py=0;py<nPixelsY;py++)
|
for(unsigned int py=0;py<nPixelsY;py++)
|
||||||
lastImageArray[py*nPixelsX+px] = sqrt(pow(currentFrame+1,2)*pow(double(px)-nPixelsX/2,2)/pow(nPixelsX/2,2)/pow(number_of_exposures+1,2) + pow(double(py)-nPixelsY/2,2)/pow(nPixelsY/2,2))/sqrt(2);
|
lastImageArray[py*nPixelsX+px] = sqrt(pow(currentFrame+1,2)*pow(double(px)-nPixelsX/2,2)/pow(nPixelsX/2,2)/pow(number_of_exposures+1,2) + pow(double(py)-nPixelsY/2,2)/pow(nPixelsY/2,2))/sqrt(2);
|
||||||
|
*/
|
||||||
// copy data
|
// copy data
|
||||||
//SHOULD BE memcpy(lastImageArray,data->values,nPixelsX*nPixelsY*sizeof(double));
|
memcpy(lastImageArray,data->values,nPixelsX*nPixelsY*sizeof(double));
|
||||||
}
|
}
|
||||||
pthread_mutex_unlock(&(last_image_complete_mutex));
|
pthread_mutex_unlock(&(last_image_complete_mutex));
|
||||||
}
|
}
|
||||||
@ -1085,7 +1109,6 @@ void qDrawPlot::UpdatePlot(){
|
|||||||
XYRangeChanged = false;
|
XYRangeChanged = false;
|
||||||
}
|
}
|
||||||
if(saveAll) SavePlotAutomatic();
|
if(saveAll) SavePlotAutomatic();
|
||||||
cout<<"updated 2d plot: ymin:"<<plot2D->GetPlot()->GetYMinimum()<< "\tymax:"<<plot2D->GetPlot()->GetYMaximum()<<endl;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//}
|
//}
|
||||||
@ -1390,7 +1413,7 @@ int qDrawPlot::UpdateTrimbitPlot(bool fromDetector,bool Histogram){
|
|||||||
if(detType == slsDetectorDefs::MYTHEN){
|
if(detType == slsDetectorDefs::MYTHEN){
|
||||||
|
|
||||||
//get trimbits
|
//get trimbits
|
||||||
actualPixelsX = myDet->getTotalNumberOfChannels();
|
actualPixelsX = myDet->getTotalNumberOfChannels(slsDetectorDefs::X);
|
||||||
if(histTrimbits) delete [] histTrimbits; histTrimbits = new double[actualPixelsX];
|
if(histTrimbits) delete [] histTrimbits; histTrimbits = new double[actualPixelsX];
|
||||||
ret = myDet->getChanRegs(histTrimbits,fromDetector);
|
ret = myDet->getChanRegs(histTrimbits,fromDetector);
|
||||||
if(!ret){
|
if(!ret){
|
||||||
@ -1551,16 +1574,4 @@ void qDrawPlot::CalculatePedestal(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
void qDrawPlot::plot2DUnzoom(){
|
|
||||||
plot2D->GetPlot()->SetXMinMax(plot2D->GetPlot()->GetXMinimum(),plot2D->GetPlot()->GetXMaximum());
|
|
||||||
plot2D->GetPlot()->SetYMinMax(plot2D->GetPlot()->GetYMinimum(),plot2D->GetPlot()->GetYMaximum());
|
|
||||||
|
|
||||||
//if(scanArgument!=None)/*if(plot_in_scope==2)*/
|
|
||||||
// plot2D->GetPlot()->UnZoom();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
@ -181,7 +181,7 @@ void qTabActions::SetupWidgetWindow(){
|
|||||||
|
|
||||||
//Number of positions is only for mythen or gotthard
|
//Number of positions is only for mythen or gotthard
|
||||||
detType = myDet->getDetectorsType();
|
detType = myDet->getDetectorsType();
|
||||||
if((detType == slsDetectorDefs::EIGER) || (detType == slsDetectorDefs::AGIPD)) {
|
if((detType == slsDetectorDefs::EIGER) || (detType == slsDetectorDefs::AGIPD) || (detType == slsDetectorDefs::MOENCH)) {
|
||||||
lblName[NumPositions]->setEnabled(false);
|
lblName[NumPositions]->setEnabled(false);
|
||||||
btnExpand[NumPositions]->setEnabled(false);
|
btnExpand[NumPositions]->setEnabled(false);
|
||||||
}else{
|
}else{
|
||||||
|
@ -75,7 +75,15 @@ void qTabAdvanced::SetupWidgetWindow(){
|
|||||||
switch(detType){
|
switch(detType){
|
||||||
case slsDetectorDefs::MYTHEN: isEnergy = true; isAngular = true; break;
|
case slsDetectorDefs::MYTHEN: isEnergy = true; isAngular = true; break;
|
||||||
case slsDetectorDefs::EIGER: isEnergy = true; isAngular = false; break;
|
case slsDetectorDefs::EIGER: isEnergy = true; isAngular = false; break;
|
||||||
|
case slsDetectorDefs::MOENCH:
|
||||||
|
isEnergy = false;
|
||||||
|
isAngular = false;
|
||||||
|
lblIP->setEnabled(true);
|
||||||
|
lblMAC->setEnabled(true);
|
||||||
|
dispIP->setEnabled(true);
|
||||||
|
dispMAC->setEnabled(true);
|
||||||
|
boxRxr->setEnabled(true);
|
||||||
|
break;
|
||||||
case slsDetectorDefs::GOTTHARD:
|
case slsDetectorDefs::GOTTHARD:
|
||||||
isEnergy = false;
|
isEnergy = false;
|
||||||
isAngular = true;
|
isAngular = true;
|
||||||
@ -208,7 +216,7 @@ void qTabAdvanced::Initialization(){
|
|||||||
connect(spinStopPort, SIGNAL(valueChanged(int)), this, SLOT(SetStopPort(int)));
|
connect(spinStopPort, SIGNAL(valueChanged(int)), this, SLOT(SetStopPort(int)));
|
||||||
connect(comboOnline, SIGNAL(currentIndexChanged(int)), this, SLOT(SetOnline(int)));
|
connect(comboOnline, SIGNAL(currentIndexChanged(int)), this, SLOT(SetOnline(int)));
|
||||||
|
|
||||||
if(detType==slsDetectorDefs::GOTTHARD){
|
if((detType==slsDetectorDefs::GOTTHARD) || (detType==slsDetectorDefs::MOENCH)){
|
||||||
|
|
||||||
//network
|
//network
|
||||||
connect(spinTCPPort, SIGNAL(valueChanged(int)), this, SLOT(SetRxrTCPPort(int)));
|
connect(spinTCPPort, SIGNAL(valueChanged(int)), this, SLOT(SetRxrTCPPort(int)));
|
||||||
@ -1030,7 +1038,7 @@ void qTabAdvanced::Refresh(){
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(detType==slsDetectorDefs::GOTTHARD){
|
if ((detType==slsDetectorDefs::GOTTHARD) || (detType==slsDetectorDefs::MOENCH)){
|
||||||
//disconnect
|
//disconnect
|
||||||
disconnect(spinTCPPort, SIGNAL(valueChanged(int)), this, SLOT(SetRxrTCPPort(int)));
|
disconnect(spinTCPPort, SIGNAL(valueChanged(int)), this, SLOT(SetRxrTCPPort(int)));
|
||||||
disconnect(spinUDPPort, SIGNAL(valueChanged(int)), this, SLOT(SetRxrUDPPort(int)));
|
disconnect(spinUDPPort, SIGNAL(valueChanged(int)), this, SLOT(SetRxrUDPPort(int)));
|
||||||
|
@ -85,6 +85,18 @@ void qTabDebugging::SetupWidgetWindow(){
|
|||||||
chkChip->setEnabled(false);
|
chkChip->setEnabled(false);
|
||||||
chkModuleFirmware->setEnabled(false);
|
chkModuleFirmware->setEnabled(false);
|
||||||
break;
|
break;
|
||||||
|
case slsDetectorDefs::MOENCH:
|
||||||
|
lblDetector->setText("Module:");
|
||||||
|
chkDetectorFirmware->setText("Module Firmware:");
|
||||||
|
chkDetectorSoftware->setText("Module Software:");
|
||||||
|
chkDetectorMemory->setText("Module Memory:");
|
||||||
|
chkDetectorBus->setText("Module Bus:");
|
||||||
|
lblModule->hide();
|
||||||
|
comboModule->hide();
|
||||||
|
chkModuleFirmware->hide();
|
||||||
|
chkChip->setEnabled(false);
|
||||||
|
chkModuleFirmware->setEnabled(false);
|
||||||
|
break;
|
||||||
case slsDetectorDefs::MYTHEN:
|
case slsDetectorDefs::MYTHEN:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -191,7 +203,7 @@ void qTabDebugging::GetInfo(){
|
|||||||
|
|
||||||
switch(detType){
|
switch(detType){
|
||||||
|
|
||||||
case slsDetectorDefs::MYTHEN:{
|
case slsDetectorDefs::MYTHEN:
|
||||||
//display widget
|
//display widget
|
||||||
formLayout->addWidget(new QLabel("Readout:"),0,0);
|
formLayout->addWidget(new QLabel("Readout:"),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);
|
||||||
@ -228,11 +240,11 @@ void qTabDebugging::GetInfo(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
case slsDetectorDefs::EIGER:{
|
|
||||||
|
case slsDetectorDefs::EIGER:
|
||||||
//display widget
|
//display widget
|
||||||
formLayout->addWidget(new QLabel("Half Module:"),0,0);
|
formLayout->addWidget(new QLabel("Half 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);
|
||||||
@ -257,11 +269,33 @@ void qTabDebugging::GetInfo(){
|
|||||||
treeDet->topLevelItem(i*2)->insertChildren(0,childItems);
|
treeDet->topLevelItem(i*2)->insertChildren(0,childItems);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
case slsDetectorDefs::GOTTHARD:{
|
case slsDetectorDefs::MOENCH:
|
||||||
|
|
||||||
|
//display widget
|
||||||
|
formLayout->addWidget(new QLabel("Module:"),0,0);
|
||||||
|
formLayout->addItem(new QSpacerItem(15,20,QSizePolicy::Fixed,QSizePolicy::Fixed),0,1);
|
||||||
|
formLayout->addWidget(lblDetectorId,0,2);
|
||||||
|
formLayout->addWidget(new QLabel("Module MAC Address:"),1,0);
|
||||||
|
formLayout->addWidget(lblDetectorSerial,1,2);
|
||||||
|
formLayout->addWidget(new QLabel("Module Firmware Version:"),2,0);
|
||||||
|
formLayout->addWidget(lblDetectorFirmware,2,2);
|
||||||
|
formLayout->addWidget(new QLabel("Module Software Version:"),3,0);
|
||||||
|
formLayout->addWidget(lblDetectorSoftware,3,2);
|
||||||
|
//tree widget
|
||||||
|
treeDet->setHeaderLabel("Moench Detector");
|
||||||
|
//gets det names
|
||||||
|
for (int i=0;i<comboDetector->count();i++)
|
||||||
|
items.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("Module (%1)").arg(comboDetector->itemText(i)))));
|
||||||
|
treeDet->insertTopLevelItems(0, items);
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
case slsDetectorDefs::GOTTHARD:
|
||||||
|
|
||||||
//display widget
|
//display widget
|
||||||
formLayout->addWidget(new QLabel("Module:"),0,0);
|
formLayout->addWidget(new QLabel("Module:"),0,0);
|
||||||
@ -281,7 +315,7 @@ void qTabDebugging::GetInfo(){
|
|||||||
treeDet->insertTopLevelItems(0, items);
|
treeDet->insertTopLevelItems(0, items);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -315,7 +349,7 @@ void qTabDebugging::SetParameters(QTreeWidgetItem *item){
|
|||||||
|
|
||||||
switch(detType){
|
switch(detType){
|
||||||
|
|
||||||
case slsDetectorDefs::MYTHEN:{
|
case slsDetectorDefs::MYTHEN:
|
||||||
if(item->text(0).contains("Readout")){
|
if(item->text(0).contains("Readout")){
|
||||||
//find index
|
//find index
|
||||||
for(i=0;i<comboDetector->count();i++)
|
for(i=0;i<comboDetector->count();i++)
|
||||||
@ -362,12 +396,12 @@ void qTabDebugging::SetParameters(QTreeWidgetItem *item){
|
|||||||
qDefs::checkErrorMessage(det);
|
qDefs::checkErrorMessage(det);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
case slsDetectorDefs::EIGER:{
|
|
||||||
|
case slsDetectorDefs::EIGER:
|
||||||
//only if half module clicked
|
//only if half module clicked
|
||||||
if(item->text(0).contains("Half Module")){
|
if(item->text(0).contains("Half Module")){
|
||||||
//find index
|
//find index
|
||||||
@ -388,12 +422,12 @@ void qTabDebugging::SetParameters(QTreeWidgetItem *item){
|
|||||||
qDefs::checkErrorMessage(det);
|
qDefs::checkErrorMessage(det);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
case slsDetectorDefs::GOTTHARD:{
|
case slsDetectorDefs::MOENCH:
|
||||||
|
case slsDetectorDefs::GOTTHARD:
|
||||||
//find index
|
//find index
|
||||||
for(i=0;i<comboDetector->count();i++)
|
for(i=0;i<comboDetector->count();i++)
|
||||||
if(item== treeDet->topLevelItem(i))
|
if(item== treeDet->topLevelItem(i))
|
||||||
@ -411,7 +445,7 @@ void qTabDebugging::SetParameters(QTreeWidgetItem *item){
|
|||||||
|
|
||||||
qDefs::checkErrorMessage(det);
|
qDefs::checkErrorMessage(det);
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -439,6 +473,7 @@ void qTabDebugging::TestDetector(){
|
|||||||
message = QString("<nobr>Test Results for %1 and %2:</nobr><br><br>").arg(comboDetector->currentText(),comboModule->currentText());
|
message = QString("<nobr>Test Results for %1 and %2:</nobr><br><br>").arg(comboDetector->currentText(),comboModule->currentText());
|
||||||
break;
|
break;
|
||||||
case slsDetectorDefs::EIGER: Detector = "Half Module"; break;
|
case slsDetectorDefs::EIGER: Detector = "Half Module"; break;
|
||||||
|
case slsDetectorDefs::MOENCH:
|
||||||
case slsDetectorDefs::GOTTHARD: Detector = "Module"; break;
|
case slsDetectorDefs::GOTTHARD: Detector = "Module"; break;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
@ -95,6 +95,22 @@ void qTabDeveloper::SetupWidgetWindow(){
|
|||||||
adcNames.push_back("Temperature ADC:");
|
adcNames.push_back("Temperature ADC:");
|
||||||
adcNames.push_back("Temperature FPGA:");
|
adcNames.push_back("Temperature FPGA:");
|
||||||
|
|
||||||
|
break;
|
||||||
|
case slsDetectorDefs::MOENCH:
|
||||||
|
NUM_DAC_WIDGETS = 8;
|
||||||
|
NUM_ADC_WIDGETS = 2;
|
||||||
|
dacNames.push_back("v Reference:");
|
||||||
|
dacNames.push_back("v Cascode n:");
|
||||||
|
dacNames.push_back("v Cascode p:");
|
||||||
|
dacNames.push_back("v Comp. Output:");
|
||||||
|
dacNames.push_back("v Cascode out");
|
||||||
|
dacNames.push_back("v Comp. Input:");
|
||||||
|
dacNames.push_back("v Comp. Ref:");
|
||||||
|
dacNames.push_back("i Base Test:");
|
||||||
|
|
||||||
|
adcNames.push_back("Temperature ADC:");
|
||||||
|
adcNames.push_back("Temperature FPGA:");
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
qDefs::Message(qDefs::CRITICAL,string("Unknown detector type:")+myDet->slsDetectorBase::getDetectorType(detType),"Developer");
|
qDefs::Message(qDefs::CRITICAL,string("Unknown detector type:")+myDet->slsDetectorBase::getDetectorType(detType),"Developer");
|
||||||
@ -122,7 +138,7 @@ void qTabDeveloper::SetupWidgetWindow(){
|
|||||||
CreateDACWidgets();
|
CreateDACWidgets();
|
||||||
|
|
||||||
//HV for gotthard
|
//HV for gotthard
|
||||||
if(detType==slsDetectorDefs::GOTTHARD){
|
if ((detType==slsDetectorDefs::GOTTHARD) || (detType==slsDetectorDefs::MOENCH)){
|
||||||
boxDacs->setFixedHeight(boxDacs->height()+35);
|
boxDacs->setFixedHeight(boxDacs->height()+35);
|
||||||
|
|
||||||
lblHV = new QLabel("High Voltage",boxDacs);
|
lblHV = new QLabel("High Voltage",boxDacs);
|
||||||
@ -145,7 +161,7 @@ void qTabDeveloper::SetupWidgetWindow(){
|
|||||||
|
|
||||||
|
|
||||||
//adcs
|
//adcs
|
||||||
if((detType==slsDetectorDefs::GOTTHARD)||(detType==slsDetectorDefs::AGIPD)){
|
if((detType==slsDetectorDefs::GOTTHARD) || (detType==slsDetectorDefs::MOENCH)){
|
||||||
setFixedHeight((50+(NUM_DAC_WIDGETS/2)*35)+(50+(NUM_ADC_WIDGETS/2)*35));
|
setFixedHeight((50+(NUM_DAC_WIDGETS/2)*35)+(50+(NUM_ADC_WIDGETS/2)*35));
|
||||||
boxAdcs = new QGroupBox("ADCs",this);
|
boxAdcs = new QGroupBox("ADCs",this);
|
||||||
boxAdcs->setFixedHeight(25+(NUM_ADC_WIDGETS/2)*35);
|
boxAdcs->setFixedHeight(25+(NUM_ADC_WIDGETS/2)*35);
|
||||||
@ -206,7 +222,7 @@ void qTabDeveloper::CreateADCWidgets(){
|
|||||||
lblAdcs[i] = new QLabel(QString(adcNames[i].c_str()),boxAdcs);
|
lblAdcs[i] = new QLabel(QString(adcNames[i].c_str()),boxAdcs);
|
||||||
spinAdcs[i] = new QDoubleSpinBox(boxAdcs);
|
spinAdcs[i] = new QDoubleSpinBox(boxAdcs);
|
||||||
spinAdcs[i]->setMaximum(10000);
|
spinAdcs[i]->setMaximum(10000);
|
||||||
if(detType==slsDetectorDefs::GOTTHARD) spinAdcs[i]->setSuffix(0x00b0+QString("C"));
|
if((detType==slsDetectorDefs::GOTTHARD) || (detType==slsDetectorDefs::MOENCH)) spinAdcs[i]->setSuffix(0x00b0+QString("C"));
|
||||||
|
|
||||||
adcLayout->addWidget(lblAdcs[i],(int)(i/2),((i%2)==0)?1:4);
|
adcLayout->addWidget(lblAdcs[i],(int)(i/2),((i%2)==0)?1:4);
|
||||||
adcLayout->addWidget(spinAdcs[i],(int)(i/2),((i%2)==0)?2:5);
|
adcLayout->addWidget(spinAdcs[i],(int)(i/2),((i%2)==0)?2:5);
|
||||||
@ -283,6 +299,7 @@ slsDetectorDefs::dacIndex qTabDeveloper::getSLSIndex(int index){
|
|||||||
return slsDetectorDefs::HUMIDITY;
|
return slsDetectorDefs::HUMIDITY;
|
||||||
/**fill in here*/
|
/**fill in here*/
|
||||||
break;
|
break;
|
||||||
|
case slsDetectorDefs::MOENCH:
|
||||||
case slsDetectorDefs::GOTTHARD:
|
case slsDetectorDefs::GOTTHARD:
|
||||||
switch(index){
|
switch(index){
|
||||||
case 0: return slsDetectorDefs::G_VREF_DS;
|
case 0: return slsDetectorDefs::G_VREF_DS;
|
||||||
@ -344,7 +361,7 @@ void qTabDeveloper::Refresh(){
|
|||||||
if(NUM_ADC_WIDGETS) RefreshAdcs();
|
if(NUM_ADC_WIDGETS) RefreshAdcs();
|
||||||
|
|
||||||
//gotthard -high voltage
|
//gotthard -high voltage
|
||||||
if(detType == slsDetectorDefs::GOTTHARD){
|
if((detType == slsDetectorDefs::GOTTHARD) || (detType == slsDetectorDefs::MOENCH)){
|
||||||
disconnect(comboHV, SIGNAL(currentIndexChanged(int)), this, SLOT(SetHighVoltage()));
|
disconnect(comboHV, SIGNAL(currentIndexChanged(int)), this, SLOT(SetHighVoltage()));
|
||||||
|
|
||||||
//default should be correct
|
//default should be correct
|
||||||
|
@ -140,6 +140,7 @@ void qTabMeasurement::SetupTimingMode(){
|
|||||||
item[(int)Gated_Start]->setEnabled(false);
|
item[(int)Gated_Start]->setEnabled(false);
|
||||||
item[(int)Trigger_Window]->setEnabled(true);
|
item[(int)Trigger_Window]->setEnabled(true);
|
||||||
break;
|
break;
|
||||||
|
case slsDetectorDefs::MOENCH:
|
||||||
case slsDetectorDefs::GOTTHARD:
|
case slsDetectorDefs::GOTTHARD:
|
||||||
item[(int)Trigger_Exp_Series]->setEnabled(true);
|
item[(int)Trigger_Exp_Series]->setEnabled(true);
|
||||||
item[(int)Trigger_Frame]->setEnabled(false);
|
item[(int)Trigger_Frame]->setEnabled(false);
|
||||||
|
@ -142,9 +142,10 @@ void qTabPlot::SetupWidgetWindow(){
|
|||||||
|
|
||||||
// Depending on whether the detector is 1d or 2d
|
// Depending on whether the detector is 1d or 2d
|
||||||
switch(myDet->getDetectorsType()){
|
switch(myDet->getDetectorsType()){
|
||||||
case slsDetectorDefs::MYTHEN: isOriginallyOneD = true; break;
|
case slsDetectorDefs::MYTHEN: isOriginallyOneD = true; break;
|
||||||
case slsDetectorDefs::EIGER: isOriginallyOneD = false; break;
|
case slsDetectorDefs::EIGER: isOriginallyOneD = false; break;
|
||||||
case slsDetectorDefs::GOTTHARD: isOriginallyOneD = true; break;
|
case slsDetectorDefs::GOTTHARD: isOriginallyOneD = true; break;
|
||||||
|
case slsDetectorDefs::MOENCH: isOriginallyOneD = false; break;
|
||||||
default:
|
default:
|
||||||
cout << "ERROR: Detector Type is Generic" << endl;
|
cout << "ERROR: Detector Type is Generic" << endl;
|
||||||
exit(-1);
|
exit(-1);
|
||||||
@ -765,7 +766,7 @@ void qTabPlot::SetScanArgument(){
|
|||||||
//histogram
|
//histogram
|
||||||
if(histogram){
|
if(histogram){
|
||||||
//allFrames
|
//allFrames
|
||||||
myPlot->SetScanArgument(4);
|
myPlot->SetScanArgument(qDefs::AllFrames);
|
||||||
|
|
||||||
//default titles for 2d scan
|
//default titles for 2d scan
|
||||||
dispXAxis->setText("Channel Number");
|
dispXAxis->setText("Channel Number");
|
||||||
@ -817,7 +818,7 @@ void qTabPlot::SetScanArgument(){
|
|||||||
myPlot->Select2DPlot();
|
myPlot->Select2DPlot();
|
||||||
|
|
||||||
}else //done here so that it isnt set by default each time
|
}else //done here so that it isnt set by default each time
|
||||||
myPlot->SetScanArgument(0);
|
myPlot->SetScanArgument(qDefs::None);
|
||||||
|
|
||||||
qDefs::checkErrorMessage(myDet);
|
qDefs::checkErrorMessage(myDet);
|
||||||
|
|
||||||
|
@ -103,6 +103,7 @@ void qTabSettings::SetupDetectorSettings(){
|
|||||||
item[(int)MediumGain]->setEnabled(false);
|
item[(int)MediumGain]->setEnabled(false);
|
||||||
item[(int)VeryHighGain]->setEnabled(false);
|
item[(int)VeryHighGain]->setEnabled(false);
|
||||||
break;
|
break;
|
||||||
|
case slsDetectorDefs::MOENCH:
|
||||||
case slsDetectorDefs::GOTTHARD:
|
case slsDetectorDefs::GOTTHARD:
|
||||||
item[(int)Standard]->setEnabled(false);
|
item[(int)Standard]->setEnabled(false);
|
||||||
item[(int)Fast]->setEnabled(false);
|
item[(int)Fast]->setEnabled(false);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user