def setUp(self): self.ring = Ring(self.C, self.alpha, np.linspace(self.p_i, self.p_f, self.N_t + 1), Proton(), self.N_t) self.beam = Beam(self.ring, self.N_p, self.N_b) self.rf = RFStation(self.ring, [self.h], self.V * np.linspace(1, 1.1, self.N_t + 1), [self.dphi]) bigaussian(self.ring, self.rf, self.beam, self.tau_0 / 4, reinsertion=True, seed=1) self.profile = Profile( self.beam, CutOptions(n_slices=100, cut_left=0, cut_right=self.rf.t_rf[0, 0]), FitOptions(fit_option='gaussian')) self.long_tracker = RingAndRFTracker(self.rf, self.beam, Profile=self.profile)
long_tracker_tot = RingAndRFTracker(rf_params_tot, beam_dummy) print("General and RF parameters set...") # Define beam and distribution bigaussian(general_params, rf_params_tot, beam, tau_0/4, reinsertion = 'on', seed=1) print("Beam set and distribution generated...") # Need slices for the Gaussian fit; slice for the first plot slice_beam = Profile(beam, CutOptions(n_slices=100), FitOptions(fit_option='gaussian')) # Define what to save in file bunchmonitor = BunchMonitor(general_params, rf_params_tot, beam, this_directory + '../output_files/EX_04_output_data', Profile=slice_beam, buffer_time=1) # PLOTS format_options = {'dirname': this_directory + '../output_files/EX_04_fig', 'linestyle': '.'} plots = Plot(general_params, rf_params_tot, beam, dt_plt, dt_plt, 0, 0.0001763*h, -450e6, 450e6, xunit='rad', separatrix_plot=True, Profile=slice_beam, h5file=this_directory + '../output_files/EX_04_output_data', histograms_plot=True, format_options=format_options) # For testing purposes test_string = ''
bigaussian(general_params, RF_sct_par, my_beam, tau_0 / 4, seed=1) bigaussian(general_params_freq, RF_sct_par_freq, my_beam_freq, tau_0 / 4, seed=1) bigaussian(general_params_res, RF_sct_par_res, my_beam_res, tau_0 / 4, seed=1) number_slices = 2**8 cut_options = CutOptions(cut_left=0, cut_right=2 * np.pi, n_slices=number_slices, RFSectionParameters=RF_sct_par, cuts_unit='rad') slice_beam = Profile(my_beam, cut_options, FitOptions(fit_option='gaussian')) cut_options_freq = CutOptions(cut_left=0, cut_right=2 * np.pi, n_slices=number_slices, RFSectionParameters=RF_sct_par_freq, cuts_unit='rad') slice_beam_freq = Profile(my_beam_freq, cut_options_freq, FitOptions(fit_option='gaussian')) cut_options_res = CutOptions(cut_left=0, cut_right=2 * np.pi, n_slices=number_slices, RFSectionParameters=ring_RF_section_res, cuts_unit='rad') slice_beam_res = Profile(my_beam_res, cut_options_res, FitOptions(fit_option='gaussian'))