From c2ddc5bfe241879a4b66a5824823ccd05b28dd34 Mon Sep 17 00:00:00 2001 From: Pim Nelissen Date: Mon, 9 Feb 2026 15:29:30 +0100 Subject: [PATCH] Add attenuation interpolator --- src/pg_rad/physics/attenuation.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/pg_rad/physics/attenuation.py diff --git a/src/pg_rad/physics/attenuation.py b/src/pg_rad/physics/attenuation.py new file mode 100644 index 0000000..bdc70e3 --- /dev/null +++ b/src/pg_rad/physics/attenuation.py @@ -0,0 +1,15 @@ +from importlib.resources import files + +from pandas import read_csv +from scipy.interpolate import interp1d + + +def get_mass_attenuation_coeff( + *args + ) -> float: + csv = files('pg_rad.data').joinpath('attenuation_table.csv') + data = read_csv(csv) + x = data["energy_mev"].to_numpy() + y = data["mu"].to_numpy() + f = interp1d(x, y) + return f(*args)