import numpy as np from pmts import build_pmt, build_light_collector, build_light_collector_from_file import os import sys dir = os.path.split(os.path.realpath(__file__))[0] sys.path.append(dir + '/..') from optics import * from view import buildable @buildable('12inch_pmt') def build_12inch_pmt(outer_material=water, theta=np.pi/8): return build_pmt(dir + '/hamamatsu_12inch.txt', 0.003, outer_material, theta) # from Jelena Maricic lc_12inch_a = 0.16597 lc_12inch_b = 0.584525 lc_12inch_d = 0.09548 lc_12inch_rmin = 0.1524 lc_12inch_rmax = 0.235072 @buildable('12inch_pmt_with_lc') def build_12inch_pmt_with_lc(outer_material=water, theta=np.pi/8): pmt = build_12inch_pmt(outer_material, theta) return pmt + build_light_collector(pmt, a=lc_12inch_a, b=lc_12inch_b, d=lc_12inch_d, rmin=lc_12inch_rmin, rmax=lc_12inch_rmax) @buildable('8inch_pmt') def build_8inch_pmt(outer_material=water, theta=np.pi/12): return build_pmt(dir + '/sno_pmt_reduced.txt', 0.003, outer_material, theta) @buildable('8inch_pmt_with_lc') def build_8inch_pmt_with_lc(outer_material=water, theta=np.pi/12): pmt = build_8inch_pmt(outer_material, theta) lc = build_light_collector_from_file(dir + '/sno_cone.txt', outer_material, theta) return pmt + lc