aboutsummaryrefslogtreecommitdiff
path: root/utils/convert-ratdb
diff options
context:
space:
mode:
authortlatorre <tlatorre@uchicago.edu>2018-10-03 09:52:19 -0500
committertlatorre <tlatorre@uchicago.edu>2018-10-03 09:52:19 -0500
commit86e89541032a0a345ae70d4b31aec474e4899890 (patch)
tree8257c8f1a7ca847a5f8d4cfcdee055ed02d1049a /utils/convert-ratdb
parent405f0d448eb15b4f686c1f7ee47794d82eaaf62c (diff)
downloadsddm-86e89541032a0a345ae70d4b31aec474e4899890.tar.gz
sddm-86e89541032a0a345ae70d4b31aec474e4899890.tar.bz2
sddm-86e89541032a0a345ae70d4b31aec474e4899890.zip
move python scripts into utils/ directory
Diffstat (limited to 'utils/convert-ratdb')
-rwxr-xr-xutils/convert-ratdb43
1 files changed, 43 insertions, 0 deletions
diff --git a/utils/convert-ratdb b/utils/convert-ratdb
new file mode 100755
index 0000000..5dd6ee4
--- /dev/null
+++ b/utils/convert-ratdb
@@ -0,0 +1,43 @@
+#!/usr/bin/env python
+"""
+Script to convert the PMT database in RAT to a CSV file (with spaces instead of commas).
+"""
+from __future__ import print_function, division
+import yaml
+
+if __name__ == '__main__':
+ import argparse
+ import numpy as np
+
+ parser = argparse.ArgumentParser("convert a RATDB file -> CSV file")
+ parser.add_argument("filename", help="RATDB filename")
+ parser.add_argument("-o", "--output", help="output filename", required=True)
+ args = parser.parse_args()
+
+ s = ''
+ with open(args.filename) as f:
+ for line in f:
+ if line.startswith('//'):
+ continue
+ s += line
+
+ data = yaml.load(s)
+
+ csv = np.zeros((len(data['x']),7),dtype=np.float64)
+ csv[:,0] = data['x']
+ csv[:,1] = data['y']
+ csv[:,2] = data['z']
+ csv[:,3] = data['u']
+ csv[:,4] = data['v']
+ csv[:,5] = data['w']
+ csv[:,6] = data['pmt_type']
+
+ # reverse PMT normals
+ csv[:,3] = -csv[:,3]
+ csv[:,4] = -csv[:,4]
+ csv[:,5] = -csv[:,5]
+
+ header = "Format: x, y, z, u, v, w, pmt_type"
+
+ np.savetxt(args.output, csv, fmt=['%10.2f']*6 + ['%i'],
+ header=header)