diff --git a/plugins/HoloScan.form b/plugins/HoloScan.form
index 1bf55f67..ff0f1ec5 100644
--- a/plugins/HoloScan.form
+++ b/plugins/HoloScan.form
@@ -71,11 +71,6 @@
-
-
-
-
-
@@ -84,7 +79,7 @@
-
+
@@ -124,6 +119,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -142,7 +148,9 @@
-
+
+
+
@@ -329,6 +337,11 @@
+
+
+
+
+
@@ -366,7 +379,7 @@
-
+
@@ -528,7 +541,7 @@
-
+
diff --git a/plugins/HoloScan.java b/plugins/HoloScan.java
index 5676dfe1..e97218e9 100644
--- a/plugins/HoloScan.java
+++ b/plugins/HoloScan.java
@@ -94,6 +94,7 @@ public class HoloScan extends Panel {
args.put("STEPS", steps);
args.put("LATENCY", (Double) 0.0);
args.put("RELATIVE", false);
+ args.put("ZIGZAG", checkZigzag.isSelected());
runAsync("HoloScan", args);
}
@@ -128,6 +129,7 @@ public class HoloScan extends Panel {
jLabel13 = new javax.swing.JLabel();
jLabel14 = new javax.swing.JLabel();
spinnerStepsTheta = new javax.swing.JSpinner();
+ checkZigzag = new javax.swing.JCheckBox();
panelSensors = new javax.swing.JPanel();
checkImage = new javax.swing.JCheckBox();
checkImageIntegration = new javax.swing.JCheckBox();
@@ -207,6 +209,8 @@ public class HoloScan extends Panel {
spinnerStepsTheta.setModel(new javax.swing.SpinnerNumberModel(10, 1, 1000, 1));
spinnerStepsTheta.setEnabled(false);
+ checkZigzag.setText("Zigzag");
+
javax.swing.GroupLayout panelPhiLayout = new javax.swing.GroupLayout(panelPhi);
panelPhi.setLayout(panelPhiLayout);
panelPhiLayout.setHorizontalGroup(
@@ -218,17 +222,13 @@ public class HoloScan extends Panel {
.addComponent(jLabel6)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(motorPanelPhi, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- .addGroup(panelPhiLayout.createSequentialGroup()
- .addComponent(jLabel7)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(motorPanelTheta, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(panelPhiLayout.createSequentialGroup()
.addGroup(panelPhiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(radioSteps)
.addComponent(radioStepSize))
.addGap(0, 0, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelPhiLayout.createSequentialGroup()
- .addGap(0, 23, Short.MAX_VALUE)
+ .addGap(0, 28, Short.MAX_VALUE)
.addGroup(panelPhiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelPhiLayout.createSequentialGroup()
.addGroup(panelPhiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -257,7 +257,15 @@ public class HoloScan extends Panel {
.addGap(6, 6, 6)
.addGroup(panelPhiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(spinnerStepsPhi, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(spinnerStepsTheta, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))))
+ .addComponent(spinnerStepsTheta, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))))
+ .addGroup(panelPhiLayout.createSequentialGroup()
+ .addComponent(jLabel7)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addGroup(panelPhiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(panelPhiLayout.createSequentialGroup()
+ .addComponent(checkZigzag)
+ .addGap(0, 0, Short.MAX_VALUE))
+ .addComponent(motorPanelTheta, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
.addContainerGap())
);
@@ -278,7 +286,9 @@ public class HoloScan extends Panel {
.addGroup(panelPhiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(jLabel7)
.addComponent(motorPanelTheta, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGap(43, 43, 43)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+ .addComponent(checkZigzag)
+ .addGap(12, 12, 12)
.addGroup(panelPhiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(spinnerFromPhi, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel4))
@@ -400,7 +410,7 @@ public class HoloScan extends Panel {
.addComponent(checkCur2)
.addComponent(checkCur3)
.addComponent(checkAngleDistribution))
- .addGap(0, 6, Short.MAX_VALUE)))
+ .addGap(0, 10, Short.MAX_VALUE)))
.addContainerGap())
);
panelSensorsLayout.setVerticalGroup(
@@ -462,7 +472,7 @@ public class HoloScan extends Panel {
.addContainerGap()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(buttonStart, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(buttonAbort, javax.swing.GroupLayout.DEFAULT_SIZE, 203, Short.MAX_VALUE))
+ .addComponent(buttonAbort, javax.swing.GroupLayout.DEFAULT_SIZE, 205, Short.MAX_VALUE))
.addContainerGap())
);
jPanel3Layout.setVerticalGroup(
@@ -551,6 +561,7 @@ public class HoloScan extends Panel {
private javax.swing.JCheckBox checkImageIntegration;
private javax.swing.JCheckBox checkSpectrum;
private javax.swing.JCheckBox checkTotalCount;
+ private javax.swing.JCheckBox checkZigzag;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel13;
diff --git a/plugins/PhotonEnergy.java b/plugins/PhotonEnergy.java
index e216e7e9..1e45704e 100644
--- a/plugins/PhotonEnergy.java
+++ b/plugins/PhotonEnergy.java
@@ -162,6 +162,7 @@ public class PhotonEnergy extends Panel {
args.put("VECTOR", getVector());
args.put("LATENCY", (Double) spinnerLatency.getValue());
args.put("MODE", radioSwept.isSelected() ? "swept" :"fixed");
+ args.put("TYPE", radioCis.isSelected() ? "CIS" :"CFS");
args.put("STEP", (Double) spinnerStep.getValue());
runAsync("PhotonEnergy", args);
running = true;
diff --git a/script/HoloScan.py b/script/HoloScan.py
index c2dcc66c..601002d7 100644
--- a/script/HoloScan.py
+++ b/script/HoloScan.py
@@ -7,6 +7,7 @@ THETA_RANGE (tuple (min, max))
STEPS (tuple (phi, theta))
LATENCY (double)
RELATIVE (BOOLEAN)
+ZIGZAG (BOOLEAN)
"""
@@ -14,4 +15,4 @@ RELATIVE (BOOLEAN)
#set_preference(Preference.PLOT_TYPES,{'ImageIntegrator':1})
adjust_sensors()
set_adc_averaging()
-ascan((ManipulatorPhi, ManipulatorTheta), SENSORS, (PHI_RANGE[0], THETA_RANGE[0]), (PHI_RANGE[1], THETA_RANGE[1]), STEPS, LATENCY, RELATIVE, before_read=trig_scienta, after_read = after_readout)
\ No newline at end of file
+ascan((ManipulatorPhi, ManipulatorTheta), SENSORS, (PHI_RANGE[0], THETA_RANGE[0]), (PHI_RANGE[1], THETA_RANGE[1]), STEPS, LATENCY, RELATIVE, zigzag = ZIGZAG, before_read=trig_scienta, after_read = after_readout)
\ No newline at end of file
diff --git a/script/PhotonEnergy.py b/script/PhotonEnergy.py
index 95c9f8b2..faa93b01 100644
--- a/script/PhotonEnergy.py
+++ b/script/PhotonEnergy.py
@@ -5,6 +5,7 @@ VECTOR (Double[][], Scan vector: Eph,Elow,Ehigh or Eph,Ecenter)
SENSORS (list)
LATENCY (double)
MODE ('fixed' or 'swept')
+TYPE ('CIS' or 'CFS')
STEP (double)
"""
@@ -15,7 +16,6 @@ else:
Scienta.setAcquisitionMode(ch.psi.pshell.epics.Scienta.AcquisitionMode.Fixed)
adjust_sensors()
set_adc_averaging()
-#set_preference(Preference.PLOT_TYPES,{'ImageEnergyDistribution':1, 'ImageAngleDistribution':1})
if len(VECTOR[0]) == 2:
#FIXED
diff --git a/script/XPSSpectrum.py b/script/XPSSpectrum.py
index 02555302..5be2e690 100644
--- a/script/XPSSpectrum.py
+++ b/script/XPSSpectrum.py
@@ -4,7 +4,7 @@
#
# skip_iteration: if set to 1 then skips after end of current iteration
-from ch.psi.pshell.data.ScanPersistenceStrategyDefault import ATTR_WRITABLE_DIMENSION as ATTR_WRITABLE_DIMENSION
+from ch.psi.pshell.data.LayoutDefault import ATTR_WRITABLE_DIMENSION as ATTR_WRITABLE_DIMENSION
cur_range = 0
cur_iteration = 0