mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-23 23:10:02 +02:00
changes to includes clkdivider and flags in gui
This commit is contained in:
parent
5c5e9d349a
commit
1c41ea8898
@ -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><nobr>
|
||||
Compression using Root. Available only for Gotthard in Expert Mode.
|
||||
</nobr><br><nobr>
|
||||
#r_compression#
|
||||
</nobr></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><nobr>
|
||||
Compression using Root. Available only for Gotthard in Expert Mode.
|
||||
</nobr><br><nobr>
|
||||
#r_compression#
|
||||
</nobr></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><nobr>
|
||||
Compression using Root. Available only for Gotthard in Expert Mode.
|
||||
</nobr><br><nobr>
|
||||
#r_compression#
|
||||
</nobr></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><nobr>
|
||||
Compression using Root. Available only for Gotthard in Expert Mode.
|
||||
</nobr><br><nobr>
|
||||
#r_compression#
|
||||
</nobr></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>
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user