From e352efa8f99321328032726c4736665c936cf102 Mon Sep 17 00:00:00 2001 From: yngve <yngve@pm.me> Date: Thu, 5 Jul 2018 18:05:07 +0200 Subject: [PATCH] moved ibsimu2tw to scripts folder added command line arguments --- ess/ibsimu2tw.py => scripts/ibsimu2tw | 59 ++++++++++++++++++++------- setup.py | 4 +- 2 files changed, 47 insertions(+), 16 deletions(-) rename ess/ibsimu2tw.py => scripts/ibsimu2tw (59%) diff --git a/ess/ibsimu2tw.py b/scripts/ibsimu2tw similarity index 59% rename from ess/ibsimu2tw.py rename to scripts/ibsimu2tw index d3fa2c2..4c628b8 100644 --- a/ess/ibsimu2tw.py +++ b/scripts/ibsimu2tw @@ -1,3 +1,4 @@ +#!/usr/bin/env python ''' - Convert an IBSimu's output (export_path_manager_data) to a TraceWin's binary. @@ -16,16 +17,46 @@ R. Miyamoto (2018.06.25) ''' +import argparse +import os +import subprocess + +parser = argparse.ArgumentParser(description="Converts IBSimu output to TraceWin dst format") + +parser.add_argument('-i', '--inp', dest='infile', + help="Input file", required=True) + +parser.add_argument('-o', '--out', dest='outfile', + help="Output file", required=True) + +parser.add_argument('--h2', dest='h2', action='store_const', + help="Include H2", const=True, default=False) + +parser.add_argument('--h3', dest='h3', action='store_const', + help="Include H3", const=True, default=False) + +parser.add_argument("-m", dest="mc2_H1", default=938.272, + type=float, help="H1 mass [MeV/c2]") + +parser.add_argument("-f", dest="freq", default=352.21, + type=float, help="Frequency") +args = parser.parse_args() #-- Constants and inputs -mc2_H1 = 938.272 -freq = 352.21 +mc2_H1 = args.mc2_H1 +freq = args.freq -file_name_in = 'tracewin_path_format_2d_10M.txt' -file_name_out_H1 = 'ISRC.H1_ibsimu.2d_10M.83mA.dst' -file_name_out_H2 = 'ISRC.H2_ibsimu.2d_10M.83mA.dst' # Comment out if H2 file isn't needed -file_name_out_H3 = 'ISRC.H3_ibsimu.2d_10M.83mA.dst' # Comment out if H3 file isn't needed +file_name_in = args.infile +file_name_out_H1 = args.outfile +if args.h2: + if args.outfile[-4:]!='.dst': + raise ValueError('Do not accept file ending of output file') + file_name_out_H2 = args.outfile[:-4]+'_H2.dst' +if args.h3: + if args.outfile[-4:]!='.dst': + raise ValueError('Do not accept file ending of output file') + file_name_out_H3 = args.outfile[:-4]+'_H3.dst' #W_cut = 0.01 # Filter for W [MeV]. Only for experts. @@ -50,14 +81,14 @@ def save_dst(file_name, x6, Ibeam, mc2=938.272, freq=352.21): x6 = numpy.reshape(x6, (numpy.size(x6))) with open(file_name, 'wb') as file: - out = struct.pack('b' , 125 ) - out += struct.pack('b' , 100 ) - out += struct.pack('i' , len(x6)) - out += struct.pack('d' , Ibeam ) - out += struct.pack('d' , freq ) - out += struct.pack('b' , 125 ) # Typo in the manual !!!! - out += struct.pack('%s'%len(x6)+'d', *x6 ) - out += struct.pack('d' , mc2 ) + out = struct.pack('b' , 125 ) + out += struct.pack('b' , 100 ) + out += struct.pack('i' , len(x6) ) + out += struct.pack('d' , Ibeam ) + out += struct.pack('d' , freq ) + out += struct.pack('b' , 125 ) # Typo in the manual !!!! + out += struct.pack('%s'%len(x6)+'d', *x6 ) + out += struct.pack('d' , mc2 ) file.write(out) #-- Parameters from the header diff --git a/setup.py b/setup.py index 010a20c..47099c2 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ from distutils.core import setup setup(name='ESS Python Tools', - version='1.7', + version='1.8', description='ESS Related Tools', url='https://gitlab01.esss.lu.se/ess-bp/ess-python-tools', author='Yngve Inntjore Levinsen', @@ -29,6 +29,6 @@ setup(name='ESS Python Tools', 'Programming Language :: Python :: 3.6', ], packages=['ess'], - scripts=['scripts/tracewin', 'scripts/tracewin_errorstudy'], + scripts=['scripts/tracewin', 'scripts/tracewin_errorstudy', 'scripts/ibsimu2tw'], ) -- GitLab