def compute_ess_transmission(beam_sigma, slits, dispersion):
"""Compute the transmission as a function of the momentum offset (in %) from a simple analytical model."""
n_steps = 10000
dx = 3.0/n_steps
sigma = beam_sigma/2.8
slits_at = slits/dispersion
error = np.arange(-1.5, 1.5, dx)
slits = np.zeros(n_steps)
slits[np.where((error < slits_at) & (error > -slits_at))] = 1.0
beam = np.exp(-(error/sigma)**2/2)
return np.roll(np.convolve(slits, beam, mode="same"), -1)/np.trapz(beam)
评论列表
文章目录