Skip to content
Snippets Groups Projects
Commit eb4600d3 authored by Michael Reuter's avatar Michael Reuter
Browse files

Refs #5454. Changes for absolute units tab.

* Parameter reader fix.
* Adding default parameter reading for tab.
* Adding more parameters to tab.
parent 0034974c
No related branches found
No related tags found
No related merge requests found
...@@ -19,13 +19,33 @@ class AbsoluteUnitsScript(BaseScriptElement): ...@@ -19,13 +19,33 @@ class AbsoluteUnitsScript(BaseScriptElement):
emin = -1.0 emin = -1.0
emax = 1.0 emax = 1.0
vandium_mass = 32.58 vandium_mass = 32.58
vanadium_rmm = 50.9415
sample_mass = 1.0 sample_mass = 1.0
sample_rmm = 1.0 sample_rmm = 1.0
absunits_median_test_high = 1.2
absunits_median_test_low = 0.8
absunits_median_test_out_high = 100
absunits_median_test_out_low = 0.01
absunits_errorbar_criterion = 0.0
def __init__(self): def __init__(self, inst_name):
super(AbsoluteUnitsScript, self).__init__() super(AbsoluteUnitsScript, self).__init__()
self.set_default_pars(inst_name)
self.reset() self.reset()
def set_default_pars(self, inst_name):
import dgs_utils
ip = dgs_utils.InstrumentParameters(inst_name)
AbsoluteUnitsScript.emin = ip.get_parameter("monovan-integr-min")
AbsoluteUnitsScript.emax = ip.get_parameter("monovan-integr-max")
AbsoluteUnitsScript.vandium_mass = ip.get_parameter("vanadium-mass")
AbsoluteUnitsScript.vandium_rmm = ip.get_parameter("vanadium-rmm")
AbsoluteUnitsScript.absunits_median_test_out_high = ip.get_parameter("monovan_hi_bound")
AbsoluteUnitsScript.absunits_median_test_out_low = ip.get_parameter("monovan_lo_bound")
AbsoluteUnitsScript.absunits_median_test_high = ip.get_parameter("monovan_hi_frac")
AbsoluteUnitsScript.absunits_median_test_low = ip.get_parameter("monovan_lo_frac")
AbsoluteUnitsScript.absunits_errorbar_criterion = ip.get_parameter("diag_samp_sig")
def to_script(self): def to_script(self):
script = "" script = ""
if self.do_absolute_units: if self.do_absolute_units:
...@@ -43,10 +63,22 @@ class AbsoluteUnitsScript(BaseScriptElement): ...@@ -43,10 +63,22 @@ class AbsoluteUnitsScript(BaseScriptElement):
script += "AbsUnitsMaximumEnergy=%s,\n" % str(self.emax) script += "AbsUnitsMaximumEnergy=%s,\n" % str(self.emax)
if self.vandium_mass != AbsoluteUnitsScript.vandium_mass: if self.vandium_mass != AbsoluteUnitsScript.vandium_mass:
script += "VanadiumMass=%s,\n" % str(self.vandium_mass) script += "VanadiumMass=%s,\n" % str(self.vandium_mass)
if self.vanadium_rmm != AbsoluteUnitsScript.vanadium_rmm:
script += "VanadiumRmm=%s,\n" % str(self.vanadium_rmm)
if self.sample_mass != AbsoluteUnitsScript.sample_mass: if self.sample_mass != AbsoluteUnitsScript.sample_mass:
script += "SampleMass=%s,\n" % str(self.sample_mass) script += "SampleMass=%s,\n" % str(self.sample_mass)
if self.sample_rmm != AbsoluteUnitsScript.sample_rmm: if self.sample_rmm != AbsoluteUnitsScript.sample_rmm:
script += "SampleRmm=%s,\n" % str(self.sample_rmm) script += "SampleRmm=%s,\n" % str(self.sample_rmm)
if self.absunits_median_test_out_low != AbsoluteUnitsScript.absunits_median_test_out_low:
script += "AbsUnitsLowOutlier=%s,\n" % str(self.absunits_median_test_out_low)
if self.absunits_median_test_out_high != AbsoluteUnitsScript.absunits_median_test_out_high:
script += "AbsUnitsHighOutlier=%s,\n" % str(self.absunits_median_test_out_high)
if self.absunits_median_test_high != AbsoluteUnitsScript.absunits_median_test_high:
script += "AbsUnitsMedianTestHigh=%s,\n" % str(self.absunits_median_test_high)
if self.absunits_median_test_low != AbsoluteUnitsScript.absunits_median_test_low:
script += "AbsUnitsMedianTestLow=%s,\n" % str(self.absunits_median_test_low)
if self.absunits_errorbar_criterion != AbsoluteUnitsScript.absunits_errorbar_criterion:
script += "AbsUnitsErrorBarCriterion=%s,\n" % str(self.absunits_errorbar_criterion)
return script return script
def to_xml(self): def to_xml(self):
...@@ -62,8 +94,14 @@ class AbsoluteUnitsScript(BaseScriptElement): ...@@ -62,8 +94,14 @@ class AbsoluteUnitsScript(BaseScriptElement):
xml += " <minimum_energy>%s</minimum_energy>\n" % str(self.emin) xml += " <minimum_energy>%s</minimum_energy>\n" % str(self.emin)
xml += " <maximum_energy>%s</maximum_energy>\n" % str(self.emax) xml += " <maximum_energy>%s</maximum_energy>\n" % str(self.emax)
xml += " <vanadium_mass>%s</vanadium_mass>\n" % str(self.vandium_mass) xml += " <vanadium_mass>%s</vanadium_mass>\n" % str(self.vandium_mass)
xml += " <vanadium_rmm>%s</vanadium_rmm>\n" % str(self.vandium_rmm)
xml += " <sample_mass>%s</sample_mass>\n" % str(self.sample_mass) xml += " <sample_mass>%s</sample_mass>\n" % str(self.sample_mass)
xml += " <sample_rmm>%s</sample_rmm>\n" % str(self.sample_rmm) xml += " <sample_rmm>%s</sample_rmm>\n" % str(self.sample_rmm)
xml += " <median_test_outlier_low>%s</median_test_outlier_low>\n" % str(self.absunits_median_test_out_low)
xml += " <median_test_outlier_high>%s</median_test_outlier_high>\n" % str(self.absunits_median_test_out_high)
xml += " <median_test_low>%s</median_test_low>\n" % str(self.absunits_median_test_low)
xml += " <median_test_high>%s</median_test_high>\n" % str(self.absunits_median_test_high)
xml += " <errorbar_criterion>%s</errorbar_criterion>\n" % str(self.absunits_errorbar_criterion)
xml += "</AbsoluteUnits>\n" xml += "</AbsoluteUnits>\n"
return xml return xml
...@@ -100,12 +138,30 @@ class AbsoluteUnitsScript(BaseScriptElement): ...@@ -100,12 +138,30 @@ class AbsoluteUnitsScript(BaseScriptElement):
self.vandium_mass = BaseScriptElement.getFloatElement(instrument_dom, self.vandium_mass = BaseScriptElement.getFloatElement(instrument_dom,
"vanadium_mass", "vanadium_mass",
default=AbsoluteUnitsScript.vandium_mass) default=AbsoluteUnitsScript.vandium_mass)
self.vandium_rmm = BaseScriptElement.getFloatElement(instrument_dom,
"vanadium_rmm",
default=AbsoluteUnitsScript.vandium_rmm)
self.sample_mass = BaseScriptElement.getFloatElement(instrument_dom, self.sample_mass = BaseScriptElement.getFloatElement(instrument_dom,
"sample_mass", "sample_mass",
default=AbsoluteUnitsScript.sample_mass) default=AbsoluteUnitsScript.sample_mass)
self.sample_rmm = BaseScriptElement.getFloatElement(instrument_dom, self.sample_rmm = BaseScriptElement.getFloatElement(instrument_dom,
"sample_rmm", "sample_rmm",
default=AbsoluteUnitsScript.sample_rmm) default=AbsoluteUnitsScript.sample_rmm)
self.absunits_median_test_out_low = BaseScriptElement.getFloatElement(instrument_dom,
"median_test_out_low",
default=AbsoluteUnitsScript.absunits_median_test_out_low)
self.absunits_median_test_out_high = BaseScriptElement.getFloatElement(instrument_dom,
"median_test_out_high",
default=AbsoluteUnitsScript.absunits_median_test_out_high)
self.absunits_median_test_low = BaseScriptElement.getFloatElement(instrument_dom,
"median_test_low",
default=AbsoluteUnitsScript.absunits_median_test_low)
self.absunits_median_test_high = BaseScriptElement.getFloatElement(instrument_dom,
"median_test_high",
default=AbsoluteUnitsScript.absunits_median_test_high)
self.absunits_errorbar_criterion = BaseScriptElement.getFloatElement(instrument_dom,
"errorbar_criterion",
default=AbsoluteUnitsScript.absunits_errorbar_criterion)
def reset(self): def reset(self):
""" """
...@@ -119,5 +175,11 @@ class AbsoluteUnitsScript(BaseScriptElement): ...@@ -119,5 +175,11 @@ class AbsoluteUnitsScript(BaseScriptElement):
self.emin = AbsoluteUnitsScript.emin self.emin = AbsoluteUnitsScript.emin
self.emax = AbsoluteUnitsScript.emax self.emax = AbsoluteUnitsScript.emax
self.vandium_mass = AbsoluteUnitsScript.vandium_mass self.vandium_mass = AbsoluteUnitsScript.vandium_mass
self.vandium_rmm = AbsoluteUnitsScript.vandium_rmm
self.sample_mass = AbsoluteUnitsScript.sample_mass self.sample_mass = AbsoluteUnitsScript.sample_mass
self.sample_rmm = AbsoluteUnitsScript.sample_rmm self.sample_rmm = AbsoluteUnitsScript.sample_rmm
\ No newline at end of file self.absunits_median_test_out_low = AbsoluteUnitsScript.absunits_median_test_out_low
self.absunits_median_test_out_high = AbsoluteUnitsScript.absunits_median_test_out_high
self.absunits_median_test_low = AbsoluteUnitsScript.absunits_median_test_low
self.absunits_median_test_high = AbsoluteUnitsScript.absunits_median_test_high
self.absunits_errorbar_criterion = AbsoluteUnitsScript.absunits_errorbar_criterion
...@@ -23,6 +23,8 @@ class InstrumentParameters(object): ...@@ -23,6 +23,8 @@ class InstrumentParameters(object):
else: else:
if self.instrument_name != inst_name: if self.instrument_name != inst_name:
self._load_param_file(inst_name) self._load_param_file(inst_name)
else:
print "Doing nothing"
def _load_param_file(self, inst_name): def _load_param_file(self, inst_name):
InstrumentParameters.instrument_name = inst_name InstrumentParameters.instrument_name = inst_name
......
...@@ -23,17 +23,30 @@ class AbsoluteUnitsWidget(BaseWidget): ...@@ -23,17 +23,30 @@ class AbsoluteUnitsWidget(BaseWidget):
self._content = AbsUnitsFrame(self) self._content = AbsUnitsFrame(self)
self._layout.addWidget(self._content) self._layout.addWidget(self._content)
self.initialize_content() self.initialize_content()
self._instrument_name = settings.instrument_name
if state is not None: if state is not None:
self.set_state(state) self.set_state(state)
else: else:
self.set_state(AbsoluteUnitsScript()) self.set_state(AbsoluteUnitsScript(self._instrument_name))
def initialize_content(self): def initialize_content(self):
# Constraints # Constraints
dvp = QtGui.QDoubleValidator(self._content.ei_edit) for widget in [
dvp.setBottom(0.0) self._content.ei_edit,
self._content.ei_edit.setValidator(dvp) self._content.van_rmm_edit,
self._content.sample_mass_edit,
self._content.sample_rmm_edit,
self._content.median_test_high_edit,
self._content.median_test_low_edit,
self._content.median_test_out_high_edit,
self._content.median_test_out_low_edit,
self._content.errorbar_crit_edit,
]:
dvp = QtGui.QDoubleValidator(widget)
dvp.setBottom(0.0)
widget.setValidator(dvp)
# Connections # Connections
self.connect(self._content.absunits_van_browse, QtCore.SIGNAL("clicked()"), self.connect(self._content.absunits_van_browse, QtCore.SIGNAL("clicked()"),
...@@ -71,14 +84,21 @@ class AbsoluteUnitsWidget(BaseWidget): ...@@ -71,14 +84,21 @@ class AbsoluteUnitsWidget(BaseWidget):
self._content.emin_edit.setText(QtCore.QString(str(state.emin))) self._content.emin_edit.setText(QtCore.QString(str(state.emin)))
self._content.emax_edit.setText(QtCore.QString(str(state.emax))) self._content.emax_edit.setText(QtCore.QString(str(state.emax)))
self._content.van_mass_edit.setText(QtCore.QString(str(state.vandium_mass))) self._content.van_mass_edit.setText(QtCore.QString(str(state.vandium_mass)))
self._content.van_rmm_edit.setText(QtCore.QString(str(state.vandium_rmm)))
self._content.sample_mass_edit.setText(QtCore.QString(str(state.sample_mass))) self._content.sample_mass_edit.setText(QtCore.QString(str(state.sample_mass)))
self._content.sample_rmm_edit.setText(QtCore.QString(str(state.sample_rmm))) self._content.sample_rmm_edit.setText(QtCore.QString(str(state.sample_rmm)))
self._content.median_test_high_edit.setText(QtCore.QString(str(state.absunits_median_test_high)))
self._content.median_test_low_edit.setText(QtCore.QString(str(state.absunits_median_test_low)))
self._content.median_test_out_high_edit.setText(QtCore.QString(str(state.absunits_median_test_out_high)))
self._content.median_test_out_low_edit.setText(QtCore.QString(str(state.absunits_median_test_out_low)))
self._content.errorbar_crit_edit.setText(QtCore.QString(str(state.absunits_errorbar_criterion)))
def get_state(self): def get_state(self):
""" """
Returns an object with the state of the interface Returns an object with the state of the interface
""" """
a = AbsoluteUnitsScript() a = AbsoluteUnitsScript(self._instrument_name)
a.do_absolute_units = self._content.absunits_gb.isChecked() a.do_absolute_units = self._content.absunits_gb.isChecked()
a.absunits_vanadium = self._content.absunits_van_edit.text() a.absunits_vanadium = self._content.absunits_van_edit.text()
a.grouping_file = self._content.grouping_file_edit.text() a.grouping_file = self._content.grouping_file_edit.text()
...@@ -87,7 +107,14 @@ class AbsoluteUnitsWidget(BaseWidget): ...@@ -87,7 +107,14 @@ class AbsoluteUnitsWidget(BaseWidget):
a.emin = util._check_and_get_float_line_edit(self._content.emin_edit) a.emin = util._check_and_get_float_line_edit(self._content.emin_edit)
a.emax = util._check_and_get_float_line_edit(self._content.emax_edit) a.emax = util._check_and_get_float_line_edit(self._content.emax_edit)
a.vanadium_mass = util._check_and_get_float_line_edit(self._content.van_mass_edit) a.vanadium_mass = util._check_and_get_float_line_edit(self._content.van_mass_edit)
a.vanadium_rmm = util._check_and_get_float_line_edit(self._content.van_rmm_edit)
a.sample_mass = util._check_and_get_float_line_edit(self._content.sample_mass_edit) a.sample_mass = util._check_and_get_float_line_edit(self._content.sample_mass_edit)
a.sample_rmm = util._check_and_get_float_line_edit(self._content.sample_rmm_edit) a.sample_rmm = util._check_and_get_float_line_edit(self._content.sample_rmm_edit)
a.absunits_median_test_high = util._check_and_get_float_line_edit(self._content.median_test_high_edit)
a.absunits_median_test_low = util._check_and_get_float_line_edit(self._content.median_test_low_edit)
a.absunits_median_test_out_high = util._check_and_get_float_line_edit(self._content.median_test_out_high_edit)
a.absunits_median_test_out_low = util._check_and_get_float_line_edit(self._content.median_test_out_low_edit)
a.absunits_errorbar_criterion = util._check_and_get_float_line_edit(self._content.errorbar_crit_edit)
return a return a
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>1011</width> <width>1011</width>
<height>514</height> <height>704</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
<property name="frameShadow"> <property name="frameShadow">
<enum>QFrame::Raised</enum> <enum>QFrame::Raised</enum>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_5"> <layout class="QVBoxLayout" name="verticalLayout_6">
<item> <item>
<widget class="QGroupBox" name="absunits_gb"> <widget class="QGroupBox" name="absunits_gb">
<property name="title"> <property name="title">
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
<property name="checked"> <property name="checked">
<bool>false</bool> <bool>false</bool>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_4"> <layout class="QVBoxLayout" name="verticalLayout_5">
<item> <item>
<widget class="QGroupBox" name="run_files_gb"> <widget class="QGroupBox" name="run_files_gb">
<property name="title"> <property name="title">
...@@ -318,7 +318,7 @@ ...@@ -318,7 +318,7 @@
</size> </size>
</property> </property>
<property name="text"> <property name="text">
<string>Vanadium mass</string> <string>Vanadium Mass</string>
</property> </property>
</widget> </widget>
</item> </item>
...@@ -347,6 +347,46 @@ ...@@ -347,6 +347,46 @@
</item> </item>
</layout> </layout>
</item> </item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_9">
<item>
<widget class="QLabel" name="van_rmm_label">
<property name="minimumSize">
<size>
<width>225</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Vanadium RMM</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="van_rmm_edit">
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_10">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_7"> <layout class="QHBoxLayout" name="horizontalLayout_7">
<item> <item>
...@@ -437,21 +477,184 @@ ...@@ -437,21 +477,184 @@
</widget> </widget>
</item> </item>
<item> <item>
<spacer name="verticalSpacer"> <widget class="QGroupBox" name="diag_gb">
<property name="orientation"> <property name="title">
<enum>Qt::Vertical</enum> <string>Diagnostic Parameters</string>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>171</height>
</size>
</property> </property>
</spacer> <layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_10">
<item>
<widget class="QLabel" name="median_test_out_high_label">
<property name="text">
<string>Median high outliers</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="median_test_out_high_edit">
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="median_test_out_low_label">
<property name="text">
<string>Median low outliers</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="median_test_out_low_edit">
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_11">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_11">
<item>
<widget class="QLabel" name="median_test_high_label">
<property name="minimumSize">
<size>
<width>137</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Median test high</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="median_test_high_edit">
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="median_test_low_label">
<property name="minimumSize">
<size>
<width>132</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Median test low</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="median_test_low_edit">
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_12">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_12">
<item>
<widget class="QLabel" name="errorbar_crit_label">
<property name="minimumSize">
<size>
<width>137</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Errorbar criterion</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="errorbar_crit_edit">
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_13">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
</item> </item>
</layout> </layout>
</widget> </widget>
</item> </item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>962</width>
<height>81</height>
</size>
</property>
</spacer>
</item>
</layout> </layout>
</widget> </widget>
<resources/> <resources/>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment