From 1d693112365e00031633402e9e9e4410278066cd Mon Sep 17 00:00:00 2001 From: X11MA Date: Wed, 2 Dec 2015 19:11:40 +0100 Subject: [PATCH] Closedown --- config/devices.properties | 2 +- plugins/EnergyScan.form | 41 ++++++++++++++++--------------- plugins/EnergyScan.java | 51 ++++++++++++++++++--------------------- script/EnergyScan.py | 29 ++++++++++++++-------- 4 files changed, 64 insertions(+), 59 deletions(-) diff --git a/config/devices.properties b/config/devices.properties index 0a269f7..219787f 100644 --- a/config/devices.properties +++ b/config/devices.properties @@ -2,4 +2,4 @@ energy=ch.psi.pshell.epics.ChannelDouble|X11MA-PGM:rbkenergy|Read||true keithley_1a=ch.psi.pshell.epics.ChannelDouble|X11MA-ES1:CADC1|Read||true keithley_2a=ch.psi.pshell.epics.ChannelDouble|X11MA-ES1:CADC2|Read||true keithley_3a=ch.psi.pshell.epics.ChannelDouble|X11MA-ES1:CADC3|Read||true -otf_start=ch.psi.pshell.epics.ChannelInteger|X11MA-OTF:GO|Read||true +otf_start=ch.psi.pshell.epics.ChannelInteger|X11MA-OTF:GO|Read|1000|true diff --git a/plugins/EnergyScan.form b/plugins/EnergyScan.form index 2e119e4..8d2274b 100644 --- a/plugins/EnergyScan.form +++ b/plugins/EnergyScan.form @@ -59,7 +59,7 @@ - + @@ -90,21 +90,18 @@ - - - - - - + + - - - - + + + + + @@ -131,15 +128,14 @@ - - - - - - + + + + + @@ -241,13 +237,18 @@ - + - + - + + + + + + diff --git a/plugins/EnergyScan.java b/plugins/EnergyScan.java index d9d4aa0..c40974e 100644 --- a/plugins/EnergyScan.java +++ b/plugins/EnergyScan.java @@ -15,16 +15,13 @@ import ch.psi.pshell.data.PlotDescriptor; import ch.psi.pshell.device.Device; import ch.psi.pshell.device.DeviceAdapter; import ch.psi.pshell.epics.ChannelDouble; -import ch.psi.pshell.epics.ChannelDoubleArray; import ch.psi.pshell.epics.ChannelInteger; import ch.psi.pshell.plot.LinePlot; import ch.psi.pshell.plot.LinePlotBase; import ch.psi.pshell.plot.LinePlotSeries; import ch.psi.pshell.plot.Plot; import ch.psi.pshell.ui.Panel; -import java.io.IOException; import java.util.logging.Logger; -import javax.swing.SwingUtilities; /** * @@ -167,8 +164,8 @@ public class EnergyScan extends Panel { args.put("DELAY", (Double) spinnerDelay.getValue()); args.put("OFFSET1", (Double) spinnerOffset1.getValue()); args.put("OFFSET2", (Double) spinnerOffset2.getValue()); - args.put("PREFIX", textPrefix.getText()); args.put("RUNTYPE", comboRunType.getSelectedItem().toString()); + args.put("ROUNDS", (Integer) spinnerRounds.getValue()); buttonAbort.setEnabled(true); @@ -218,8 +215,8 @@ public class EnergyScan extends Panel { spinnerOffset2 = new javax.swing.JSpinner(); jLabel11 = new javax.swing.JLabel(); comboRunType = new javax.swing.JComboBox(); - jLabel9 = new javax.swing.JLabel(); - textPrefix = new javax.swing.JTextField(); + jLabel5 = new javax.swing.JLabel(); + spinnerRounds = new javax.swing.JSpinner(); jPanel2 = new javax.swing.JPanel(); radioK1 = new javax.swing.JRadioButton(); radioK3 = new javax.swing.JRadioButton(); @@ -264,8 +261,10 @@ public class EnergyScan extends Panel { comboRunType.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "+/-", "+", "-" })); - jLabel9.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); - jLabel9.setText("Prefix:"); + jLabel5.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); + jLabel5.setText("Rounds:"); + + spinnerRounds.setModel(new javax.swing.SpinnerNumberModel(1, 1, 10, 1)); javax.swing.GroupLayout panelParametersLayout = new javax.swing.GroupLayout(panelParameters); panelParameters.setLayout(panelParametersLayout); @@ -297,26 +296,23 @@ public class EnergyScan extends Panel { .addGroup(panelParametersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(spinnerE2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(spinnerDelay, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(spinnerOffset2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addContainerGap(43, Short.MAX_VALUE)) + .addComponent(spinnerOffset2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) .addGroup(panelParametersLayout.createSequentialGroup() - .addGroup(panelParametersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addComponent(jLabel9) - .addComponent(jLabel11)) + .addComponent(jLabel11) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addGroup(panelParametersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(comboRunType, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(textPrefix, javax.swing.GroupLayout.PREFERRED_SIZE, 94, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))) + .addComponent(comboRunType, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jLabel5) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(spinnerRounds, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addContainerGap(43, Short.MAX_VALUE)) ); panelParametersLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {spinnerE1, spinnerTime}); panelParametersLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel2, jLabel4, jLabel8}); - panelParametersLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {spinnerDelay, spinnerE2, spinnerOffset1, spinnerOffset2}); - - panelParametersLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {comboRunType, textPrefix}); + panelParametersLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {spinnerDelay, spinnerE2, spinnerOffset1, spinnerOffset2, spinnerRounds}); panelParametersLayout.setVerticalGroup( panelParametersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) @@ -338,14 +334,13 @@ public class EnergyScan extends Panel { .addComponent(spinnerOffset1) .addComponent(jLabel13) .addComponent(spinnerOffset2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGap(18, 18, 18) - .addGroup(panelParametersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel9) - .addComponent(textPrefix)) - .addGap(18, 18, 18) + .addGap(55, 55, 55) .addGroup(panelParametersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(comboRunType, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(jLabel11)) + .addComponent(jLabel11) + .addGroup(panelParametersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel5) + .addComponent(spinnerRounds, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) .addContainerGap()) ); @@ -507,8 +502,8 @@ public class EnergyScan extends Panel { private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; + private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel8; - private javax.swing.JLabel jLabel9; private javax.swing.JPanel jPanel2; private javax.swing.JPanel jPanel3; private javax.swing.JPanel panelParameters; @@ -519,7 +514,7 @@ public class EnergyScan extends Panel { private javax.swing.JSpinner spinnerE2; private javax.swing.JSpinner spinnerOffset1; private javax.swing.JSpinner spinnerOffset2; + private javax.swing.JSpinner spinnerRounds; private javax.swing.JSpinner spinnerTime; - private javax.swing.JTextField textPrefix; // End of variables declaration//GEN-END:variables } diff --git a/script/EnergyScan.py b/script/EnergyScan.py index 9fbe339..7512841 100644 --- a/script/EnergyScan.py +++ b/script/EnergyScan.py @@ -1,6 +1,10 @@ import os import traceback +input_path = "/sls/X11MA/Data1/public/X11MA/temp/" +output_path = input_path +file_prefix = time.strftime("%y%m%d") + #Parameters """ @@ -12,6 +16,7 @@ OFFSET1 = 1.0 #eV OFFSET2 = -1.0 #eV PREFIX = 'Data' RUNTYPE = "+/-" +ROUNDS = 1 """ print "\nStarting energy scan - Parameters: ", print E1,E2,TIME,DELAY,OFFSET1,OFFSET2,PREFIX,RUNTYPE #,ALPHA @@ -35,11 +40,6 @@ def switchpol(activeID): pol_str = None polswitch = 1 - -input_path = "/sls/X11MA/Data1/public/X11MA/temp/" -output_path = input_path -file_prefix = time.strftime("%y%m%d") - fid = get_next_fid(input_path, "o" + file_prefix) suffix = ("%03d" % fid) @@ -48,21 +48,30 @@ input_file = input_path + "o" + file_prefix + "_" + suffix + ".dat" #Prepare scan -if RUNTYPE == "+/-": +number_of_scans = 1 +if RUNTYPE in ["+/-", "+" , "-"]: caput(OTF_MODE1,1) # circ + in ID1 caput(OTF_MODE2,2) # circ - in ID2 wait_channel(OTF_DONE, 1, type = 'i') + if RUNTYPE == "+/-": + number_of_scans = 2 * ROUNDS + else: + number_of_scans = ROUNDS else: raise Exception("Invalid run type: " + RUNTYPE) -switchpol(1) # tune ID1 --> polarization: C+ +if RUNTYPE == "-": + switchpol(2) # tune ID1 --> polarization: C+ +else: + switchpol(1) # tune ID1 --> polarization: C+ time.sleep(1.0) wait_channel(OTF_DONE, 1, type = 'i') open_vg10() +open_vg13() -for rounds in [1,2]: +for scan_no in range(number_of_scans): caput(OTF_E1, E1) caput(OTF_E2, E2) caput(OTF_TIME, TIME) @@ -87,7 +96,7 @@ for rounds in [1,2]: print("Converting data file: " + output_file); convert_file(input_file, output_file, pol_str) - plot_file(output_file, "Scan " + str(rounds)) + plot_file(output_file, "Scan " + str(scan_no+1)) if polswitch == 1: switchpol(2) # tune ID2 --> polarization:C- @@ -97,7 +106,7 @@ for rounds in [1,2]: time.sleep(3.0) -close_vg10() +close_vg13() print "Finished Energy scan"