aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2023-07-25 16:41:14 +0200
committerThomas White <taw@physics.org>2023-07-28 13:22:05 +0200
commit7b00456b25fbc30ed5b706d6c46ca73f51762ec3 (patch)
tree21bf207cdbc8dca6be7480c602ede338ac4ad8d7 /tests
parenta0ceccce4b7d561c2c72e79b6edf568bc12d5dc9 (diff)
Add tests/geom_roundtrip
Diffstat (limited to 'tests')
-rwxr-xr-xtests/geom_roundtrip645
-rw-r--r--tests/meson.build5
2 files changed, 650 insertions, 0 deletions
diff --git a/tests/geom_roundtrip b/tests/geom_roundtrip
new file mode 100755
index 00000000..6d205f06
--- /dev/null
+++ b/tests/geom_roundtrip
@@ -0,0 +1,645 @@
+#!/bin/sh
+
+ADJUST_DETECTOR=$1
+
+cat > roundtrip.geom << EOF
+photon_energy = /LCLS/photon_energy_eV eV
+clen = /LCLS/detector_1/EncoderValue
+bandwidth = 1.000000e-08
+coffset = 0.573224
+mask0_data = /entry_1/data_1/mask
+mask0_goodbits = 0x0
+mask0_badbits = 0xffff
+res = 9090.910000
+data = /entry_1/data_1/data
+adu_per_eV = 0.003380
+dim0 = %
+dim1 = ss
+dim2 = fs
+
+q0a0/min_fs = 0
+q0a0/max_fs = 193
+q0a0/min_ss = 0
+q0a0/max_ss = 184
+q0a0/corner_x = 443.819000
+q0a0/corner_y = -49.871900
+q0a0/fs = 0.004806x +0.999989y +0.000000z
+q0a0/ss = -0.999989x +0.004806y +0.000000z
+
+q0a1/min_fs = 194
+q0a1/max_fs = 387
+q0a1/min_ss = 0
+q0a1/max_ss = 184
+q0a1/corner_x = 444.766000
+q0a1/corner_y = 147.126000
+q0a1/fs = 0.004806x +0.999989y +0.000000z
+q0a1/ss = -0.999989x +0.004806y +0.000000z
+
+q0a2/min_fs = 0
+q0a2/max_fs = 193
+q0a2/min_ss = 185
+q0a2/max_ss = 369
+q0a2/corner_x = 239.800000
+q0a2/corner_y = -49.350400
+q0a2/fs = 0.003265x +0.999995y +0.000000z
+q0a2/ss = -0.999995x +0.003265y +0.000000z
+
+q0a3/min_fs = 194
+q0a3/max_fs = 387
+q0a3/min_ss = 185
+q0a3/max_ss = 369
+q0a3/corner_x = 240.444000
+q0a3/corner_y = 147.649000
+q0a3/fs = 0.003265x +0.999995y +0.000000z
+q0a3/ss = -0.999995x +0.003265y +0.000000z
+
+q0a4/min_fs = 0
+q0a4/max_fs = 193
+q0a4/min_ss = 370
+q0a4/max_ss = 554
+q0a4/corner_x = 872.219000
+q0a4/corner_y = 342.054000
+q0a4/fs = -0.999997x +0.002424y +0.000000z
+q0a4/ss = -0.002424x -0.999997y +0.000000z
+
+q0a5/min_fs = 194
+q0a5/max_fs = 387
+q0a5/min_ss = 370
+q0a5/max_ss = 554
+q0a5/corner_x = 675.220000
+q0a5/corner_y = 342.532000
+q0a5/fs = -0.999997x +0.002424y +0.000000z
+q0a5/ss = -0.002424x -0.999997y +0.000000z
+
+q0a6/min_fs = 0
+q0a6/max_fs = 193
+q0a6/min_ss = 555
+q0a6/max_ss = 739
+q0a6/corner_x = 871.381000
+q0a6/corner_y = 135.836000
+q0a6/fs = -0.999997x +0.002685y +0.000000z
+q0a6/ss = -0.002685x -0.999997y +0.000000z
+
+q0a7/min_fs = 194
+q0a7/max_fs = 387
+q0a7/min_ss = 555
+q0a7/max_ss = 739
+q0a7/corner_x = 674.382000
+q0a7/corner_y = 136.365000
+q0a7/fs = -0.999997x +0.002685y +0.000000z
+q0a7/ss = -0.002685x -0.999997y +0.000000z
+
+q0a8/min_fs = 0
+q0a8/max_fs = 193
+q0a8/min_ss = 740
+q0a8/max_ss = 924
+q0a8/corner_x = 480.758000
+q0a8/corner_y = 769.640000
+q0a8/fs = -0.000078x -0.999999y +0.000000z
+q0a8/ss = 0.999999x -0.000078y +0.000000z
+
+q0a9/min_fs = 194
+q0a9/max_fs = 387
+q0a9/min_ss = 740
+q0a9/max_ss = 924
+q0a9/corner_x = 480.743000
+q0a9/corner_y = 572.640000
+q0a9/fs = -0.000078x -0.999999y +0.000000z
+q0a9/ss = 0.999999x -0.000078y +0.000000z
+
+q0a10/min_fs = 0
+q0a10/max_fs = 193
+q0a10/min_ss = 925
+q0a10/max_ss = 1109
+q0a10/corner_x = 689.447000
+q0a10/corner_y = 770.295000
+q0a10/fs = 0.001551x -0.999999y +0.000000z
+q0a10/ss = 0.999999x +0.001551y +0.000000z
+
+q0a11/min_fs = 194
+q0a11/max_fs = 387
+q0a11/min_ss = 925
+q0a11/max_ss = 1109
+q0a11/corner_x = 689.752000
+q0a11/corner_y = 573.296000
+q0a11/fs = 0.001551x -0.999999y +0.000000z
+q0a11/ss = 0.999999x +0.001551y +0.000000z
+
+q0a12/min_fs = 0
+q0a12/max_fs = 193
+q0a12/min_ss = 1110
+q0a12/max_ss = 1294
+q0a12/corner_x = 445.672000
+q0a12/corner_y = 751.701000
+q0a12/fs = -0.999998x -0.002161y +0.000000z
+q0a12/ss = 0.002161x -0.999998y +0.000000z
+
+q0a13/min_fs = 194
+q0a13/max_fs = 387
+q0a13/min_ss = 1110
+q0a13/max_ss = 1294
+q0a13/corner_x = 248.672000
+q0a13/corner_y = 751.276000
+q0a13/fs = -0.999998x -0.002161y +0.000000z
+q0a13/ss = 0.002161x -0.999998y +0.000000z
+
+q0a14/min_fs = 0
+q0a14/max_fs = 193
+q0a14/min_ss = 1295
+q0a14/max_ss = 1479
+q0a14/corner_x = 445.151000
+q0a14/corner_y = 541.081000
+q0a14/fs = -0.999999x -0.000074y +0.000000z
+q0a14/ss = 0.000074x -0.999999y +0.000000z
+
+q0a15/min_fs = 194
+q0a15/max_fs = 387
+q0a15/min_ss = 1295
+q0a15/max_ss = 1479
+q0a15/corner_x = 248.151000
+q0a15/corner_y = 541.066000
+q0a15/fs = -0.999999x -0.000074y +0.000000z
+q0a15/ss = 0.000074x -0.999999y +0.000000z
+
+q1a0/min_fs = 388
+q1a0/max_fs = 581
+q1a0/min_ss = 0
+q1a0/max_ss = 184
+q1a0/corner_x = 28.477600
+q1a0/corner_y = 436.830000
+q1a0/fs = -0.999990x -0.004167y +0.000000z
+q1a0/ss = 0.004167x -0.999990y +0.000000z
+
+q1a1/min_fs = 582
+q1a1/max_fs = 775
+q1a1/min_ss = 0
+q1a1/max_ss = 184
+q1a1/corner_x = -168.520000
+q1a1/corner_y = 436.009000
+q1a1/fs = -0.999990x -0.004167y +0.000000z
+q1a1/ss = 0.004167x -0.999990y +0.000000z
+
+q1a2/min_fs = 388
+q1a2/max_fs = 581
+q1a2/min_ss = 185
+q1a2/max_ss = 369
+q1a2/corner_x = 29.355900
+q1a2/corner_y = 226.978000
+q1a2/fs = -1.000001x +0.000385y +0.000000z
+q1a2/ss = -0.000385x -1.000001y +0.000000z
+
+q1a3/min_fs = 582
+q1a3/max_fs = 775
+q1a3/min_ss = 185
+q1a3/max_ss = 369
+q1a3/corner_x = -167.644000
+q1a3/corner_y = 227.054000
+q1a3/fs = -1.000001x +0.000385y +0.000000z
+q1a3/ss = -0.000385x -1.000001y +0.000000z
+
+q1a4/min_fs = 388
+q1a4/max_fs = 581
+q1a4/min_ss = 370
+q1a4/max_ss = 554
+q1a4/corner_x = -364.144000
+q1a4/corner_y = 859.163000
+q1a4/fs = 0.000539x -1.000000y +0.000000z
+q1a4/ss = 1.000000x +0.000539y +0.000000z
+
+q1a5/min_fs = 582
+q1a5/max_fs = 775
+q1a5/min_ss = 370
+q1a5/max_ss = 554
+q1a5/corner_x = -364.038000
+q1a5/corner_y = 662.163000
+q1a5/fs = 0.000539x -1.000000y +0.000000z
+q1a5/ss = 1.000000x +0.000539y +0.000000z
+
+q1a6/min_fs = 388
+q1a6/max_fs = 581
+q1a6/min_ss = 555
+q1a6/max_ss = 739
+q1a6/corner_x = -156.511000
+q1a6/corner_y = 857.902000
+q1a6/fs = -0.000337x -1.000000y +0.000000z
+q1a6/ss = 1.000000x -0.000337y +0.000000z
+
+q1a7/min_fs = 582
+q1a7/max_fs = 775
+q1a7/min_ss = 555
+q1a7/max_ss = 739
+q1a7/corner_x = -156.577000
+q1a7/corner_y = 660.902000
+q1a7/fs = -0.000337x -1.000000y +0.000000z
+q1a7/ss = 1.000000x -0.000337y +0.000000z
+
+q1a8/min_fs = 388
+q1a8/max_fs = 581
+q1a8/min_ss = 740
+q1a8/max_ss = 924
+q1a8/corner_x = -786.718000
+q1a8/corner_y = 463.506000
+q1a8/fs = 0.999996x +0.002303y +0.000000z
+q1a8/ss = -0.002303x +0.999996y +0.000000z
+
+q1a9/min_fs = 582
+q1a9/max_fs = 775
+q1a9/min_ss = 740
+q1a9/max_ss = 924
+q1a9/corner_x = -589.719000
+q1a9/corner_y = 463.959000
+q1a9/fs = 0.999996x +0.002303y +0.000000z
+q1a9/ss = -0.002303x +0.999996y +0.000000z
+
+q1a10/min_fs = 388
+q1a10/max_fs = 581
+q1a10/min_ss = 925
+q1a10/max_ss = 1109
+q1a10/corner_x = -787.022000
+q1a10/corner_y = 668.135000
+q1a10/fs = 0.999997x +0.001741y +0.000000z
+q1a10/ss = -0.001741x +0.999997y +0.000000z
+
+q1a11/min_fs = 582
+q1a11/max_fs = 775
+q1a11/min_ss = 925
+q1a11/max_ss = 1109
+q1a11/corner_x = -590.022000
+q1a11/corner_y = 668.478000
+q1a11/fs = 0.999997x +0.001741y +0.000000z
+q1a11/ss = -0.001741x +0.999997y +0.000000z
+
+q1a12/min_fs = 388
+q1a12/max_fs = 581
+q1a12/min_ss = 1110
+q1a12/max_ss = 1294
+q1a12/corner_x = -761.085000
+q1a12/corner_y = 428.541000
+q1a12/fs = -0.000201x -0.999999y +0.000000z
+q1a12/ss = 0.999999x -0.000201y +0.000000z
+
+q1a13/min_fs = 582
+q1a13/max_fs = 775
+q1a13/min_ss = 1110
+q1a13/max_ss = 1294
+q1a13/corner_x = -761.125000
+q1a13/corner_y = 231.541000
+q1a13/fs = -0.000201x -0.999999y +0.000000z
+q1a13/ss = 0.999999x -0.000201y +0.000000z
+
+q1a14/min_fs = 388
+q1a14/max_fs = 581
+q1a14/min_ss = 1295
+q1a14/max_ss = 1479
+q1a14/corner_x = -559.624000
+q1a14/corner_y = 428.347000
+q1a14/fs = 0.003097x -0.999995y +0.000000z
+q1a14/ss = 0.999995x +0.003097y +0.000000z
+
+q1a15/min_fs = 582
+q1a15/max_fs = 775
+q1a15/min_ss = 1295
+q1a15/max_ss = 1479
+q1a15/corner_x = -559.014000
+q1a15/corner_y = 231.348000
+q1a15/fs = 0.003097x -0.999995y +0.000000z
+q1a15/ss = 0.999995x +0.003097y +0.000000z
+
+q2a0/min_fs = 776
+q2a0/max_fs = 969
+q2a0/min_ss = 0
+q2a0/max_ss = 184
+q2a0/corner_x = -442.346000
+q2a0/corner_y = 20.338200
+q2a0/fs = -0.004086x -0.999991y +0.000000z
+q2a0/ss = 0.999991x -0.004086y +0.000000z
+
+q2a1/min_fs = 970
+q2a1/max_fs = 1163
+q2a1/min_ss = 0
+q2a1/max_ss = 184
+q2a1/corner_x = -443.151000
+q2a1/corner_y = -176.660000
+q2a1/fs = -0.004086x -0.999991y +0.000000z
+q2a1/ss = 0.999991x -0.004086y +0.000000z
+
+q2a2/min_fs = 776
+q2a2/max_fs = 969
+q2a2/min_ss = 185
+q2a2/max_ss = 369
+q2a2/corner_x = -235.519000
+q2a2/corner_y = 19.231200
+q2a2/fs = 0.000302x -1.000000y +0.000000z
+q2a2/ss = 1.000000x +0.000302y +0.000000z
+
+q2a3/min_fs = 970
+q2a3/max_fs = 1163
+q2a3/min_ss = 185
+q2a3/max_ss = 369
+q2a3/corner_x = -235.459000
+q2a3/corner_y = -177.769000
+q2a3/fs = 0.000302x -1.000000y +0.000000z
+q2a3/ss = 1.000000x +0.000302y +0.000000z
+
+q2a4/min_fs = 776
+q2a4/max_fs = 969
+q2a4/min_ss = 370
+q2a4/max_ss = 554
+q2a4/corner_x = -863.817000
+q2a4/corner_y = -370.344000
+q2a4/fs = 0.999997x -0.002037y +0.000000z
+q2a4/ss = 0.002037x +0.999997y +0.000000z
+
+q2a5/min_fs = 970
+q2a5/max_fs = 1163
+q2a5/min_ss = 370
+q2a5/max_ss = 554
+q2a5/corner_x = -666.817000
+q2a5/corner_y = -370.746000
+q2a5/fs = 0.999997x -0.002037y +0.000000z
+q2a5/ss = 0.002037x +0.999997y +0.000000z
+
+q2a6/min_fs = 776
+q2a6/max_fs = 969
+q2a6/min_ss = 555
+q2a6/max_ss = 739
+q2a6/corner_x = -863.549000
+q2a6/corner_y = -165.126000
+q2a6/fs = 1.000000x -0.001155y +0.000000z
+q2a6/ss = 0.001155x +1.000000y +0.000000z
+
+q2a7/min_fs = 970
+q2a7/max_fs = 1163
+q2a7/min_ss = 555
+q2a7/max_ss = 739
+q2a7/corner_x = -666.549000
+q2a7/corner_y = -165.353000
+q2a7/fs = 1.000000x -0.001155y +0.000000z
+q2a7/ss = 0.001155x +1.000000y +0.000000z
+
+q2a8/min_fs = 776
+q2a8/max_fs = 969
+q2a8/min_ss = 740
+q2a8/max_ss = 924
+q2a8/corner_x = -473.620000
+q2a8/corner_y = -793.473000
+q2a8/fs = 0.002076x +0.999998y +0.000000z
+q2a8/ss = -0.999998x +0.002076y +0.000000z
+
+q2a9/min_fs = 970
+q2a9/max_fs = 1163
+q2a9/min_ss = 740
+q2a9/max_ss = 924
+q2a9/corner_x = -473.211000
+q2a9/corner_y = -596.474000
+q2a9/fs = 0.002076x +0.999998y +0.000000z
+q2a9/ss = -0.999998x +0.002076y +0.000000z
+
+q2a10/min_fs = 776
+q2a10/max_fs = 969
+q2a10/min_ss = 925
+q2a10/max_ss = 1109
+q2a10/corner_x = -676.809000
+q2a10/corner_y = -792.653000
+q2a10/fs = 0.004134x +0.999991y +0.000000z
+q2a10/ss = -0.999991x +0.004134y +0.000000z
+
+q2a11/min_fs = 970
+q2a11/max_fs = 1163
+q2a11/min_ss = 925
+q2a11/max_ss = 1109
+q2a11/corner_x = -675.995000
+q2a11/corner_y = -595.655000
+q2a11/fs = 0.004134x +0.999991y +0.000000z
+q2a11/ss = -0.999991x +0.004134y +0.000000z
+
+q2a12/min_fs = 776
+q2a12/max_fs = 969
+q2a12/min_ss = 1110
+q2a12/max_ss = 1294
+q2a12/corner_x = -442.034000
+q2a12/corner_y = -769.447000
+q2a12/fs = 0.999981x -0.006417y +0.000000z
+q2a12/ss = 0.006417x +0.999981y +0.000000z
+
+q2a13/min_fs = 970
+q2a13/max_fs = 1163
+q2a13/min_ss = 1110
+q2a13/max_ss = 1294
+q2a13/corner_x = -245.038000
+q2a13/corner_y = -770.711000
+q2a13/fs = 0.999981x -0.006417y +0.000000z
+q2a13/ss = 0.006417x +0.999981y +0.000000z
+
+q2a14/min_fs = 776
+q2a14/max_fs = 969
+q2a14/min_ss = 1295
+q2a14/max_ss = 1479
+q2a14/corner_x = -441.283000
+q2a14/corner_y = -566.627000
+q2a14/fs = 0.999996x -0.002727y +0.000000z
+q2a14/ss = 0.002727x +0.999996y +0.000000z
+
+q2a15/min_fs = 970
+q2a15/max_fs = 1163
+q2a15/min_ss = 1295
+q2a15/max_ss = 1479
+q2a15/corner_x = -244.283000
+q2a15/corner_y = -567.164000
+q2a15/fs = 0.999996x -0.002727y +0.000000z
+q2a15/ss = 0.002727x +0.999996y +0.000000z
+
+q3a0/min_fs = 1164
+q3a0/max_fs = 1357
+q3a0/min_ss = 0
+q3a0/max_ss = 184
+q3a0/corner_x = -33.350700
+q3a0/corner_y = -458.693000
+q3a0/fs = 0.999988x -0.004965y +0.000000z
+q3a0/ss = 0.004965x +0.999988y +0.000000z
+
+q3a1/min_fs = 1358
+q3a1/max_fs = 1551
+q3a1/min_ss = 0
+q3a1/max_ss = 184
+q3a1/corner_x = 163.647000
+q3a1/corner_y = -459.671000
+q3a1/fs = 0.999988x -0.004965y +0.000000z
+q3a1/ss = 0.004965x +0.999988y +0.000000z
+
+q3a2/min_fs = 1164
+q3a2/max_fs = 1357
+q3a2/min_ss = 185
+q3a2/max_ss = 369
+q3a2/corner_x = -31.831600
+q3a2/corner_y = -254.931000
+q3a2/fs = 0.999998x -0.002316y +0.000000z
+q3a2/ss = 0.002316x +0.999998y +0.000000z
+
+q3a3/min_fs = 1358
+q3a3/max_fs = 1551
+q3a3/min_ss = 185
+q3a3/max_ss = 369
+q3a3/corner_x = 165.168000
+q3a3/corner_y = -255.388000
+q3a3/fs = 0.999998x -0.002316y +0.000000z
+q3a3/ss = 0.002316x +0.999998y +0.000000z
+
+q3a4/min_fs = 1164
+q3a4/max_fs = 1357
+q3a4/min_ss = 370
+q3a4/max_ss = 554
+q3a4/corner_x = 359.553000
+q3a4/corner_y = -886.512000
+q3a4/fs = 0.002474x +0.999997y +0.000000z
+q3a4/ss = -0.999997x +0.002474y +0.000000z
+
+q3a5/min_fs = 1358
+q3a5/max_fs = 1551
+q3a5/min_ss = 370
+q3a5/max_ss = 554
+q3a5/corner_x = 360.040000
+q3a5/corner_y = -689.512000
+q3a5/fs = 0.002474x +0.999997y +0.000000z
+q3a5/ss = -0.999997x +0.002474y +0.000000z
+
+q3a6/min_fs = 1164
+q3a6/max_fs = 1357
+q3a6/min_ss = 555
+q3a6/max_ss = 739
+q3a6/corner_x = 154.142000
+q3a6/corner_y = -884.763000
+q3a6/fs = 0.000059x +1.000000y +0.000000z
+q3a6/ss = -1.000000x +0.000059y +0.000000z
+
+q3a7/min_fs = 1358
+q3a7/max_fs = 1551
+q3a7/min_ss = 555
+q3a7/max_ss = 739
+q3a7/corner_x = 154.154000
+q3a7/corner_y = -687.763000
+q3a7/fs = 0.000059x +1.000000y +0.000000z
+q3a7/ss = -1.000000x +0.000059y +0.000000z
+
+q3a8/min_fs = 1164
+q3a8/max_fs = 1357
+q3a8/min_ss = 740
+q3a8/max_ss = 924
+q3a8/corner_x = 784.877000
+q3a8/corner_y = -492.935000
+q3a8/fs = -0.999993x +0.004040y +0.000000z
+q3a8/ss = -0.004040x -0.999993y +0.000000z
+
+q3a9/min_fs = 1358
+q3a9/max_fs = 1551
+q3a9/min_ss = 740
+q3a9/max_ss = 924
+q3a9/corner_x = 587.878000
+q3a9/corner_y = -492.139000
+q3a9/fs = -0.999993x +0.004040y +0.000000z
+q3a9/ss = -0.004040x -0.999993y +0.000000z
+
+q3a10/min_fs = 1164
+q3a10/max_fs = 1357
+q3a10/min_ss = 925
+q3a10/max_ss = 1109
+q3a10/corner_x = 784.254000
+q3a10/corner_y = -699.590000
+q3a10/fs = -0.999971x +0.007529y +0.000000z
+q3a10/ss = -0.007529x -0.999971y +0.000000z
+
+q3a11/min_fs = 1358
+q3a11/max_fs = 1551
+q3a11/min_ss = 925
+q3a11/max_ss = 1109
+q3a11/corner_x = 587.260000
+q3a11/corner_y = -698.107000
+q3a11/fs = -0.999971x +0.007529y +0.000000z
+q3a11/ss = -0.007529x -0.999971y +0.000000z
+
+q3a12/min_fs = 1164
+q3a12/max_fs = 1357
+q3a12/min_ss = 1110
+q3a12/max_ss = 1294
+q3a12/corner_x = 769.176000
+q3a12/corner_y = -460.510000
+q3a12/fs = 0.004516x +0.999990y +0.000000z
+q3a12/ss = -0.999990x +0.004516y +0.000000z
+
+q3a13/min_fs = 1358
+q3a13/max_fs = 1551
+q3a13/min_ss = 1110
+q3a13/max_ss = 1294
+q3a13/corner_x = 770.066000
+q3a13/corner_y = -263.512000
+q3a13/fs = 0.004516x +0.999990y +0.000000z
+q3a13/ss = -0.999990x +0.004516y +0.000000z
+
+q3a14/min_fs = 1164
+q3a14/max_fs = 1357
+q3a14/min_ss = 1295
+q3a14/max_ss = 1479
+q3a14/corner_x = 554.764000
+q3a14/corner_y = -460.250000
+q3a14/fs = 0.004918x +0.999989y +0.000000z
+q3a14/ss = -0.999989x +0.004918y +0.000000z
+
+q3a15/min_fs = 1358
+q3a15/max_fs = 1551
+q3a15/min_ss = 1295
+q3a15/max_ss = 1479
+q3a15/corner_x = 555.732000
+q3a15/corner_y = -263.253000
+q3a15/fs = 0.004918x +0.999989y +0.000000z
+q3a15/ss = -0.999989x +0.004918y +0.000000z
+
+group_a0 = q0a0,q0a1
+group_a1 = q0a2,q0a3
+group_a2 = q0a4,q0a5
+group_a3 = q0a6,q0a7
+group_a4 = q0a8,q0a9
+group_a5 = q0a10,q0a11
+group_a6 = q0a12,q0a13
+group_a7 = q0a14,q0a15
+group_a8 = q1a0,q1a1
+group_a9 = q1a2,q1a3
+group_a10 = q1a4,q1a5
+group_a11 = q1a6,q1a7
+group_a12 = q1a8,q1a9
+group_a13 = q1a10,q1a11
+group_a14 = q1a12,q1a13
+group_a15 = q1a14,q1a15
+group_a16 = q2a0,q2a1
+group_a17 = q2a2,q2a3
+group_a18 = q2a4,q2a5
+group_a19 = q2a6,q2a7
+group_a20 = q2a8,q2a9
+group_a21 = q2a10,q2a11
+group_a22 = q2a12,q2a13
+group_a23 = q2a14,q2a15
+group_a24 = q3a0,q3a1
+group_a25 = q3a2,q3a3
+group_a26 = q3a4,q3a5
+group_a27 = q3a6,q3a7
+group_a28 = q3a8,q3a9
+group_a29 = q3a10,q3a11
+group_a30 = q3a12,q3a13
+group_a31 = q3a14,q3a15
+group_q0 = a0,a1,a2,a3,a4,a5,a6,a7
+group_q1 = a8,a9,a10,a11,a12,a13,a14,a15
+group_q2 = a16,a17,a18,a19,a20,a21,a22,a23
+group_q3 = a24,a25,a26,a27,a28,a29,a30,a31
+group_all = q0,q1,q2,q3
+EOF
+
+$ADJUST_DETECTOR -i roundtrip.geom -o roundtrip-out.geom
+if [ $? -ne 0 ]; then
+ exit 1;
+fi
+
+diff roundtrip.geom roundtrip-out.geom
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+#rm -f roundtrip.geom roundtrip-out.geom
+exit 0
diff --git a/tests/meson.build b/tests/meson.build
index 9dc245a9..88a8d073 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -194,3 +194,8 @@ if hdf5dep.found()
test(p[0], exe, args : [h5, geom, expected_wl])
endforeach
endif
+
+
+test('geom_roundtrip',
+ find_program('geom_roundtrip'),
+ args: [adjust_detector.full_path()])