Advanced Tracking
RF CAS 2023
S. Albright, A. Lasheen, F. Batsch, K. Iliakis, G. Papotti, D. Quartullo, H. Timko, L. Intelisano, B. Karlsen-Baeck, I. Karpov, O. Naumenko, A. Vanel, M. Zampetakis
ring = Ring(circumference, alpha_0, momentum, particle, n_turns=n_turns) rf_station = RFStation(ring, harmonic, voltage, phase) beam = Beam(ring, n_macroparticles, intensity)
parabolic(ring, rf_station, beam, bunch_length)
cut_opt = CutOptions( cut_left=0, cut_right=rf_station.t_rf[0, 0], n_slices=60) fit_opt = FitOptions(fit_option='gaussian') profile = Profile(beam, CutOptions=cut_opt, FitOptions=fit_opt)
h5file = './data/saved_data' bunchmonitor = BunchMonitor( ring, rf_station, beam, h5file, Profile=profile) bunchmonitor.track()
dt_plt = 200 plots = Plot(ring, rf_station, beam, dt_plt, ring.n_turns, 0, rf_station.t_rf[0, 0], -100e6, 100e6, Profile=profile, h5file=h5file, separatrix_plot=True)
rf_tracker = RingAndRFTracker(rf_station, beam) full_tracker = FullRingAndRF([rf_tracker])
for turn in range(ring.n_turns): full_tracker.track() profile.track() plots.track() bunchmonitor.track()
$$ \begin{aligned} \delta E_{\mathrm{ind}}\left(\tau\right) = q V_{\mathrm{ind}}\left(\tau\right) = - q N_b \left(\lambda \ast \mathcal{W} \right) \end{aligned} $$