changes to includes clkdivider and flags in gui

This commit is contained in:
Dhanya Maliakal 2015-09-10 11:28:39 +02:00
parent 5c5e9d349a
commit 1c41ea8898
3 changed files with 563 additions and 285 deletions

View File

@ -31,287 +31,12 @@
<property name="windowTitle">
<string>Form</string>
</property>
<widget class="QGroupBox" name="boxCorrection">
<property name="geometry">
<rect>
<x>20</x>
<y>160</y>
<width>731</width>
<height>171</height>
</rect>
</property>
<property name="title">
<string>Options</string>
</property>
<widget class="QWidget" name="gridLayoutWidget_2">
<property name="geometry">
<rect>
<x>15</x>
<y>25</y>
<width>701</width>
<height>66</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<property name="verticalSpacing">
<number>3</number>
</property>
<item row="0" column="0">
<widget class="QCheckBox" name="chkFlatField">
<property name="toolTip">
<string>Flat field corrections.
#flatfield# filename</string>
</property>
<property name="text">
<string>Flat Field Correction File:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="2" colspan="6">
<widget class="QLineEdit" name="dispFlatField">
<property name="enabled">
<bool>false</bool>
</property>
<property name="focusPolicy">
<enum>Qt::ClickFocus</enum>
</property>
<property name="toolTip">
<string>Flat field corrections.
#flatfield# filename</string>
</property>
</widget>
</item>
<item row="0" column="8">
<widget class="QPushButton" name="btnFlatField">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Flat field corrections.
#flatfield# filename</string>
</property>
<property name="text">
<string>Browse</string>
</property>
<property name="icon">
<iconset resource="../include/icons.qrc">
<normaloff>:/icons/images/browse.png</normaloff>:/icons/images/browse.png</iconset>
</property>
</widget>
</item>
<item row="1" column="5">
<widget class="QRadioButton" name="radioDeadTime">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Custom dead time:</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QRadioButton" name="radioAuto">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Auto</string>
</property>
</widget>
</item>
<item row="1" column="6" colspan="3">
<widget class="QDoubleSpinBox" name="spinDeadTime">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="suffix">
<string> ns</string>
</property>
<property name="decimals">
<number>6</number>
</property>
<property name="maximum">
<double>2000000000.000000000000000</double>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="chkRate">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Rate Correction:</string>
</property>
</widget>
</item>
<item row="1" column="3">
<spacer name="horizontalSpacer_7">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="4">
<spacer name="horizontalSpacer_6">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="gridLayoutWidget_3">
<property name="geometry">
<rect>
<x>15</x>
<y>95</y>
<width>701</width>
<height>66</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<property name="verticalSpacing">
<number>3</number>
</property>
<item row="0" column="3">
<spacer name="horizontalSpacer_5">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>310</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="2">
<widget class="QCheckBox" name="chkDiscardBad">
<property name="text">
<string>Discard Bad Channels</string>
</property>
</widget>
</item>
<item row="0" column="1">
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="0">
<widget class="QCheckBox" name="chkAngular">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Angular Conversion</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="chkCompression">
<property name="toolTip">
<string>&lt;nobr&gt;
Compression using Root. Available only for Gotthard in Expert Mode.
&lt;/nobr&gt;&lt;br&gt;&lt;nobr&gt;
#r_compression#
&lt;/nobr&gt;</string>
</property>
<property name="text">
<string>Compression</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QCheckBox" name="chkTenGiga">
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
<string>&lt;nobr&gt;
Compression using Root. Available only for Gotthard in Expert Mode.
&lt;/nobr&gt;&lt;br&gt;&lt;nobr&gt;
#r_compression#
&lt;/nobr&gt;</string>
</property>
<property name="text">
<string>10GbE</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<widget class="QGroupBox" name="boxOutDir">
<property name="geometry">
<rect>
<x>20</x>
<y>25</y>
<width>731</width>
<x>15</x>
<y>30</y>
<width>747</width>
<height>116</height>
</rect>
</property>
@ -331,7 +56,7 @@ Directory where one saves the data.
<rect>
<x>5</x>
<y>10</y>
<width>721</width>
<width>731</width>
<height>96</height>
</rect>
</property>
@ -354,7 +79,7 @@ Directory where one saves the data.
<rect>
<x>10</x>
<y>10</y>
<width>701</width>
<width>716</width>
<height>86</height>
</rect>
</property>
@ -514,6 +239,388 @@ Directory where one saves the data.
</widget>
</widget>
</widget>
<widget class="QGroupBox" name="boxCorrection_2">
<property name="geometry">
<rect>
<x>15</x>
<y>160</y>
<width>746</width>
<height>170</height>
</rect>
</property>
<property name="title">
<string>Options</string>
</property>
<widget class="QWidget" name="gridLayoutWidget_3">
<property name="geometry">
<rect>
<x>17</x>
<y>21</y>
<width>192</width>
<height>137</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<property name="verticalSpacing">
<number>6</number>
</property>
<item row="3" column="0">
<widget class="QCheckBox" name="chkTenGiga">
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
<string>&lt;nobr&gt;
Compression using Root. Available only for Gotthard in Expert Mode.
&lt;/nobr&gt;&lt;br&gt;&lt;nobr&gt;
#r_compression#
&lt;/nobr&gt;</string>
</property>
<property name="text">
<string>10GbE</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="chkCompression">
<property name="toolTip">
<string>&lt;nobr&gt;
Compression using Root. Available only for Gotthard in Expert Mode.
&lt;/nobr&gt;&lt;br&gt;&lt;nobr&gt;
#r_compression#
&lt;/nobr&gt;</string>
</property>
<property name="text">
<string>Compression</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QCheckBox" name="chkAngular">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Angular Conversion</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="chkDiscardBad">
<property name="text">
<string>Discard Bad Channels</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="gridLayoutWidget_2">
<property name="geometry">
<rect>
<x>255</x>
<y>21</y>
<width>476</width>
<height>66</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<property name="verticalSpacing">
<number>6</number>
</property>
<item row="1" column="2">
<widget class="QRadioButton" name="radioAuto">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Auto</string>
</property>
</widget>
</item>
<item row="0" column="6">
<widget class="QPushButton" name="btnFlatField">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Flat field corrections.
#flatfield# filename</string>
</property>
<property name="text">
<string>Browse</string>
</property>
<property name="icon">
<iconset resource="../include/icons.qrc">
<normaloff>:/icons/images/browse.png</normaloff>:/icons/images/browse.png</iconset>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QCheckBox" name="chkFlatField">
<property name="toolTip">
<string>Flat field corrections.
#flatfield# filename</string>
</property>
<property name="text">
<string>Flat Field File:</string>
</property>
</widget>
</item>
<item row="1" column="4" colspan="3">
<widget class="QDoubleSpinBox" name="spinDeadTime">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="suffix">
<string> ns</string>
</property>
<property name="decimals">
<number>6</number>
</property>
<property name="maximum">
<double>2000000000.000000000000000</double>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="chkRate">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Rate:</string>
</property>
</widget>
</item>
<item row="0" column="2" colspan="4">
<widget class="QLineEdit" name="dispFlatField">
<property name="enabled">
<bool>false</bool>
</property>
<property name="focusPolicy">
<enum>Qt::ClickFocus</enum>
</property>
<property name="toolTip">
<string>Flat field corrections.
#flatfield# filename</string>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QRadioButton" name="radioDeadTime">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Custom dead time:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>10</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="Line" name="line">
<property name="geometry">
<rect>
<x>230</x>
<y>21</y>
<width>20</width>
<height>134</height>
</rect>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</widget>
<widget class="QWidget" name="widgetEiger" native="true">
<property name="geometry">
<rect>
<x>244</x>
<y>92</y>
<width>491</width>
<height>72</height>
</rect>
</property>
<widget class="QWidget" name="gridLayoutWidget">
<property name="geometry">
<rect>
<x>11</x>
<y>4</y>
<width>475</width>
<height>62</height>
</rect>
</property>
<layout class="QGridLayout" name="gridEiger">
<item row="1" column="2">
<widget class="QComboBox" name="comboEigerFlags1">
<property name="maximumSize">
<size>
<width>200</width>
<height>16777215</height>
</size>
</property>
<item>
<property name="text">
<string>Continous</string>
</property>
</item>
<item>
<property name="text">
<string>Store in RAM</string>
</property>
</item>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="lblClkDivider">
<property name="maximumSize">
<size>
<width>105</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Clock Divider:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>10</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="2">
<widget class="QComboBox" name="comboEigerClkDivider">
<property name="maximumSize">
<size>
<width>200</width>
<height>16777215</height>
</size>
</property>
<item>
<property name="text">
<string>Full Speed</string>
</property>
</item>
<item>
<property name="text">
<string>Half Speed</string>
</property>
</item>
<item>
<property name="text">
<string>Quarter Speed</string>
</property>
</item>
<item>
<property name="text">
<string>Super Slow Speed</string>
</property>
</item>
</widget>
</item>
<item row="1" column="3">
<spacer name="horizontalSpacer_5">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>10</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0">
<widget class="QLabel" name="lblEigerFlags">
<property name="maximumSize">
<size>
<width>105</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Flags:</string>
</property>
</widget>
</item>
<item row="1" column="4">
<widget class="QComboBox" name="comboEigerFlags2">
<item>
<property name="text">
<string>Parallel</string>
</property>
</item>
<item>
<property name="text">
<string>Non Parallel</string>
</property>
</item>
<item>
<property name="text">
<string>Safe</string>
</property>
</item>
</widget>
</item>
</layout>
</widget>
</widget>
</widget>
</widget>
<tabstops>
<tabstop>dispReadOutputDir</tabstop>

View File

@ -67,6 +67,14 @@ private:
QPalette *red1;
QPalette *black1;
/** enum for the Eiger clock divider */
enum {FullSpeed, HalfSpeed, QuarterSpeed, SuperSlowSpeed, NumberofSpeeds};
/** enum for the Eiger readout flags1 */
enum {Continous, Storeinram};
/** enum for the Eiger readout flags2 */
enum {Parallel, NonParallel, Safe};
/** methods */
/** Sets up the widget */
void SetupWidgetWindow();
@ -81,6 +89,11 @@ private:
/** Get Compression */
void GetCompression();
/** update speed */
void updateSpeedFromServer();
/** update flags */
void updateFlagsFromServer();
private slots:
@ -120,6 +133,12 @@ void SetCompression(bool enable);
/** enable 10GbE */
void EnableTenGigabitEthernet(bool enable, int get=0);
/** set speed */
void setSpeed();
/** set flags */
void setFlags();
signals:
/**signal to enable/disable positions in Actions*/
void AngularConversionSignal(bool);

View File

@ -47,6 +47,7 @@ qTabDataOutput::~qTabDataOutput(){
void qTabDataOutput::SetupWidgetWindow(){
// Detector Type
detType=myDet->getDetectorsType();
widgetEiger->setVisible(false);
//rate correction - not for charge integrating detectors
if((detType == slsDetectorDefs::MYTHEN)||(detType == slsDetectorDefs::EIGER))
@ -55,8 +56,11 @@ void qTabDataOutput::SetupWidgetWindow(){
if((detType == slsDetectorDefs::MYTHEN)||(detType == slsDetectorDefs::GOTTHARD))
chkAngular->setEnabled(true);
if(detType == slsDetectorDefs::EIGER)
if(detType == slsDetectorDefs::EIGER){
chkTenGiga->setEnabled(true);
widgetEiger->setVisible(true);
}
/** error message **/
red = QPalette();
@ -118,9 +122,6 @@ void qTabDataOutput::SetupWidgetWindow(){
#ifdef VERBOSE
cout << "Getting bad channel correction:" << myDet->getBadChannelCorrection() << endl;
#endif
disconnect(chkDiscardBad, SIGNAL(toggled(bool)));
if(myDet->getBadChannelCorrection())
chkDiscardBad->setChecked(true);
@ -163,6 +164,15 @@ void qTabDataOutput::Initialization(){
connect(chkCompression, SIGNAL(toggled(bool)), this, SLOT(SetCompression(bool)));
//10GbE
connect(chkTenGiga, SIGNAL(toggled(bool)), this, SLOT(EnableTenGigabitEthernet(bool)));
//eiger
if(widgetEiger->isVisible()){
//speed
connect(comboEigerClkDivider,SIGNAL(currentIndexChanged(int)), this, SLOT(setSpeed()));
//flags
connect(comboEigerFlags1, SIGNAL(currentIndexChanged(int)), this, SLOT(setFlags()));
connect(comboEigerFlags2, SIGNAL(currentIndexChanged(int)), this, SLOT(setFlags()));
}
}
@ -762,6 +772,133 @@ void qTabDataOutput::EnableTenGigabitEthernet(bool enable,int get){
//-------------------------------------------------------------------------------------------------------------------------------------------------
void qTabDataOutput::setSpeed(){
#ifdef VERBOSE
cout << endl << "Setting Speed" << endl;
#endif
if(widgetEiger->isVisible()){
myDet->setSpeed(slsDetectorDefs::CLOCK_DIVIDER,comboEigerClkDivider->currentIndex());
qDefs::checkErrorMessage(myDet,"qTabDataOutput::setSpeed");
updateSpeedFromServer();
}
}
//-------------------------------------------------------------------------------------------------------------------------------------------------
void qTabDataOutput::setFlags(){
#ifdef VERBOSE
cout << endl << "Setting Readout Flags" << endl;
#endif
slsDetectorDefs::readOutFlags val = slsDetectorDefs::GET_READOUT_FLAGS;
if(widgetEiger->isVisible()){
//set to continous or storeinram
switch(comboEigerFlags1->currentIndex()){
case Storeinram: val = slsDetectorDefs::STORE_IN_RAM; break;
default: val = slsDetectorDefs::CONTINOUS_RO; break;
}
myDet->setReadOutFlags(val);
qDefs::checkErrorMessage(myDet,"qTabDataOutput::setFlags");
//set to parallel, nonparallel or safe
switch(comboEigerFlags2->currentIndex()){
case Parallel: val = slsDetectorDefs::PARALLEL; break;
case Safe: val = slsDetectorDefs::SAFE; break;
default: val = slsDetectorDefs::NONPARALLEL; break;
}
myDet->setReadOutFlags(val);
qDefs::checkErrorMessage(myDet,"qTabDataOutput::setFlags");
//update flags
updateFlagsFromServer();
}
}
//-------------------------------------------------------------------------------------------------------------------------------------------------
void qTabDataOutput::updateSpeedFromServer(){
int ret;
if(widgetEiger->isVisible()){
disconnect(comboEigerClkDivider, SIGNAL(currentIndexChanged(int)), this, SLOT(setSpeed()));
//get speed
ret = myDet->setSpeed(slsDetectorDefs::CLOCK_DIVIDER, -1);
qDefs::checkErrorMessage(myDet,"qTabDataOutput::updateSpeedFromServer");
//valid speed
if(ret >= 0 && ret < NumberofSpeeds)
comboEigerClkDivider->setCurrentIndex(ret);
//invalid speed
else{
qDefs::Message(qDefs::WARNING,"Inconsistent value from clock divider.\n"
"Setting it for all detectors involved to half speed.","qTabDataOutput::updateSpeedFromServer");
//set to default
comboEigerClkDivider->setCurrentIndex(HalfSpeed);
myDet->setSpeed(slsDetectorDefs::CLOCK_DIVIDER,HalfSpeed);
qDefs::checkErrorMessage(myDet,"qTabDataOutput::updateSpeedFromServer");
}
connect(comboEigerClkDivider, SIGNAL(currentIndexChanged(int)), this, SLOT(setSpeed()));
}
}
//-------------------------------------------------------------------------------------------------------------------------------------------------
void qTabDataOutput::updateFlagsFromServer(){
int ret;
if(widgetEiger->isVisible()){
disconnect(comboEigerFlags1, SIGNAL(currentIndexChanged(int)), this, SLOT(setFlags()));
disconnect(comboEigerFlags2, SIGNAL(currentIndexChanged(int)), this, SLOT(setFlags()));
//get speed
ret = myDet->setReadOutFlags(slsDetectorDefs::GET_READOUT_FLAGS);
qDefs::checkErrorMessage(myDet,"qTabDataOutput::updateFlagsFromServer");
//invalid flags
if(ret==-1){
qDefs::Message(qDefs::WARNING,"Inconsistent value for readout flags.\n"
"Setting it for all detectors involved to continous nonparallel mode.",
"qTabDataOutput::updateFlagsFromServer");
//set to default
comboEigerFlags1->setCurrentIndex(Continous);
myDet->setReadOutFlags(slsDetectorDefs::CONTINOUS_RO);
qDefs::checkErrorMessage(myDet,"qTabDataOutput::updateFlagsFromServer");
comboEigerFlags2->setCurrentIndex(NonParallel);
myDet->setReadOutFlags(slsDetectorDefs::NONPARALLEL);
qDefs::checkErrorMessage(myDet,"qTabDataOutput::updateFlagsFromServer");
}
//valid flags
else{
if(ret & slsDetectorDefs::STORE_IN_RAM)
comboEigerFlags1->setCurrentIndex(Storeinram);
else if(ret & slsDetectorDefs::CONTINOUS_RO)
comboEigerFlags1->setCurrentIndex(Continous);
if(ret & slsDetectorDefs::PARALLEL)
comboEigerFlags2->setCurrentIndex(Parallel);
else if(ret & slsDetectorDefs::NONPARALLEL)
comboEigerFlags2->setCurrentIndex(NonParallel);
else if(ret & slsDetectorDefs::SAFE)
comboEigerFlags2->setCurrentIndex(Safe);
}
connect(comboEigerFlags1, SIGNAL(currentIndexChanged(int)), this, SLOT(setFlags()));
connect(comboEigerFlags2, SIGNAL(currentIndexChanged(int)), this, SLOT(setFlags()));
}
}
//-------------------------------------------------------------------------------------------------------------------------------------------------
void qTabDataOutput::Refresh(){
#ifdef VERBOSE
cout << endl << "**Updating DataOutput Tab" << endl;
@ -843,9 +980,24 @@ void qTabDataOutput::Refresh(){
EnableTenGigabitEthernet(-1,1);
}
//Eiger specific
if(widgetEiger->isVisible()){
//speed
#ifdef VERBOSE
cout << "Getting Speed" << endl;
#endif
updateSpeedFromServer();
//flags
#ifdef VERBOSE
cout << "Getting Readout Flags" << endl;
#endif
updateFlagsFromServer();
}
#ifdef VERBOSE
cout << "**Updated DataOutput Tab" << endl << endl;
#endif