ocelot.utils.xfel_utils

functions common to fel decks

Module Contents

Classes

FelSimulator

configurable to e.g. semi-empirical models

Functions

dfl_st_cpl(dfl, theta_b, inp_axis='y', s_start=None)

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)

save_xhrss_dump_proj(dump_proj, filePath)

tap_exp(n, n0, a0, a1, a2)

exponential tapering

tap_pol_old(n, n0, a0, a1, a2)

piecewise-quadratic tapering function

tap_pol(n, n0, a0, a1, a2)

piecewise-quadratic tapering 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)

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)

create_fel_beamline(beamline='sase1', inters_phi=0, inters_K='K_und')

create_exfel_lattice(*agrs, **kwargs)

prepare_el_optics(beam, lat_pkg, E_photon=None, beta_av=None, s=None)

detune_k(lat, sig)

detune_E(inp, beam, sig)

taper(lat, k)

update_beam(beam_new, g, n_interp)

check and rewrite!

rematch(beta_mean, l_fodo, qdh, lat, extra_fodo, beam, qf, qd)

requires l_fodo to be defined in the lattice

rematch_beam_lat(beam, lat_pkg, beta_mean, raise_min_beta=False)

get_data_dir()

checkout_run(run_dir, run_id, prefix1, prefix2, save=False, debug=1)

ocelot.utils.xfel_utils.nthread
ocelot.utils.xfel_utils._logger

SELF-SEEDING - relevant

ocelot.utils.xfel_utils.dfl_st_cpl(dfl, theta_b, inp_axis='y', s_start=None)
ocelot.utils.xfel_utils.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)
ocelot.utils.xfel_utils.save_xhrss_dump_proj(dump_proj, filePath)
ocelot.utils.xfel_utils.tap_exp(n, n0, a0, a1, a2)

exponential tapering

ocelot.utils.xfel_utils.tap_pol_old(n, n0, a0, a1, a2)

piecewise-quadratic tapering function

ocelot.utils.xfel_utils.tap_pol(n, n0, a0, a1, a2)

piecewise-quadratic tapering function

ocelot.utils.xfel_utils.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)
ocelot.utils.xfel_utils.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)
ocelot.utils.xfel_utils.create_fel_beamline(beamline='sase1', inters_phi=0, inters_K='K_und')
ocelot.utils.xfel_utils.create_exfel_lattice(*agrs, **kwargs)
ocelot.utils.xfel_utils.prepare_el_optics(beam, lat_pkg, E_photon=None, beta_av=None, s=None)
ocelot.utils.xfel_utils.detune_k(lat, sig)
ocelot.utils.xfel_utils.detune_E(inp, beam, sig)
ocelot.utils.xfel_utils.taper(lat, k)
ocelot.utils.xfel_utils.update_beam(beam_new, g, n_interp)

check and rewrite!

ocelot.utils.xfel_utils.rematch(beta_mean, l_fodo, qdh, lat, extra_fodo, beam, qf, qd)

requires l_fodo to be defined in the lattice

ocelot.utils.xfel_utils.rematch_beam_lat(beam, lat_pkg, beta_mean, raise_min_beta=False)
ocelot.utils.xfel_utils.get_data_dir()
ocelot.utils.xfel_utils.checkout_run(run_dir, run_id, prefix1, prefix2, save=False, debug=1)
class ocelot.utils.xfel_utils.FelSimulator

Bases: object

configurable to e.g. semi-empirical models

run(self)