:mod:`ocelot.utils.xfel_utils` ============================== .. py:module:: ocelot.utils.xfel_utils .. autoapi-nested-parse:: functions common to fel decks Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: ocelot.utils.xfel_utils.FelSimulator Functions ~~~~~~~~~ .. autoapisummary:: ocelot.utils.xfel_utils.dfl_st_cpl ocelot.utils.xfel_utils.dfl_hxrss_filt ocelot.utils.xfel_utils.save_xhrss_dump_proj ocelot.utils.xfel_utils.tap_exp ocelot.utils.xfel_utils.tap_pol_old ocelot.utils.xfel_utils.tap_pol ocelot.utils.xfel_utils.create_fel_lattice ocelot.utils.xfel_utils.create_fel_lattice_tmp ocelot.utils.xfel_utils.create_fel_beamline ocelot.utils.xfel_utils.create_exfel_lattice ocelot.utils.xfel_utils.prepare_el_optics ocelot.utils.xfel_utils.detune_k ocelot.utils.xfel_utils.detune_E ocelot.utils.xfel_utils.taper ocelot.utils.xfel_utils.update_beam ocelot.utils.xfel_utils.rematch ocelot.utils.xfel_utils.rematch_beam_lat ocelot.utils.xfel_utils.get_data_dir ocelot.utils.xfel_utils.checkout_run .. data:: nthread .. data:: _logger SELF-SEEDING - relevant .. function:: dfl_st_cpl(dfl, theta_b, inp_axis='y', s_start=None) .. function:: dfl_hxrss_filt(dfl, trf, s_delay, st_cpl=1, enforce_padn=None, res_per_fwhm=6, fft_method='mp', dump_proj=0, debug=1) .. function:: save_xhrss_dump_proj(dump_proj, filePath) .. function:: tap_exp(n, n0, a0, a1, a2) exponential tapering .. function:: tap_pol_old(n, n0, a0, a1, a2) piecewise-quadratic tapering function .. function:: tap_pol(n, n0, a0, a1, a2) piecewise-quadratic tapering function .. function:: create_fel_lattice(und_N=35, und_L=5, und_l=0.04, und_Kx=0, und_Ky=0, inters_L=1.08, inters_K='K_und', inters_phi=0, quad_L=0.4, quad_K=0, phs_L=0.0, quad_start='d', **kwargs) .. function:: create_fel_lattice_tmp(und_N=34, und_L=5, und_l=0.04, und_Kx=0, und_Ky=0, inters_L=1.08, inters_K='K_und', inters_phi=0, quad_L=0.1, quad_K=0, phs_L=0.0, quad_start='d', **kwargs) .. function:: create_fel_beamline(beamline='sase1', inters_phi=0, inters_K='K_und') .. function:: create_exfel_lattice(*agrs, **kwargs) .. function:: prepare_el_optics(beam, lat_pkg, E_photon=None, beta_av=None, s=None) .. function:: detune_k(lat, sig) .. function:: detune_E(inp, beam, sig) .. function:: taper(lat, k) .. function:: update_beam(beam_new, g, n_interp) check and rewrite! .. function:: rematch(beta_mean, l_fodo, qdh, lat, extra_fodo, beam, qf, qd) requires l_fodo to be defined in the lattice .. function:: rematch_beam_lat(beam, lat_pkg, beta_mean, raise_min_beta=False) .. function:: get_data_dir() .. function:: checkout_run(run_dir, run_id, prefix1, prefix2, save=False, debug=1) .. py:class:: FelSimulator Bases: :class:`object` configurable to e.g. semi-empirical models .. method:: run(self)