From 71f4e6a5752f6586ec83a8c9606b100f2fe497fb Mon Sep 17 00:00:00 2001 From: Thomas White Date: Tue, 13 Nov 2018 14:14:44 +0100 Subject: Add some new scripts --- scripts/find-multiples | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100755 scripts/find-multiples (limited to 'scripts/find-multiples') diff --git a/scripts/find-multiples b/scripts/find-multiples new file mode 100755 index 00000000..6196e83c --- /dev/null +++ b/scripts/find-multiples @@ -0,0 +1,58 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Find multiple crystal hits +# +# Copyright © 2017 Deutsches Elektronen-Synchrotron DESY, +# a research centre of the Helmholtz Association. +# +# Author: +# 2017 Thomas White +# + +import sys +from collections import deque + +f = open(sys.argv[1], 'r') +n_crystals = 0 +crystal = deque() +in_crystal = 0 +while True: + + fline = f.readline() + if not fline: + break + + fline = fline.rstrip("\r\n") + + if fline.find("Image filename") != -1: + filename = fline + + if fline.find("Event") != -1: + event = fline + + if fline.find("End chunk") != -1: + if n_crystals > 1: + print("\nFilename: "+filename) + print("Event: "+event) + for line in crystal: + print(line) + + if fline.find("Begin chunk") != -1: + n_crystals = 0 + filename = "" + event = "" + crystal.clear() + + if fline.find("Begin crystal") != -1: + n_crystals += 1 + + if fline.find("Cell param") != -1: + in_crystal = 1 + + if in_crystal: + crystal.append(fline) + + if fline.find("unique_axis") != -1: + in_crystal = 0 + -- cgit v1.2.3