ocelot.cpbd.track¶
Module Contents¶
Classes¶
Functions¶
|
|
|
the function search peaks of spectrum and return positions of all peaks |
|
input: 1D sample data |
|
input: 1D array and value |
|
input: 1D array and value |
|
|
|
function searches three highest harmonics and return: |
|
|
|
the function defines contour of DA. If particle “lived” > lvl*nturns then we set up nturns |
|
|
|
curved line of second order |
|
the function create list of Pxy |
|
|
|
|
|
|
|
|
|
|
|
tracking for a fixed step dz |
|
tracking through the lattice |
|
|
|
|
|
-
ocelot.cpbd.track._logger¶
-
ocelot.cpbd.track.extrema_chk= 1¶
-
ocelot.cpbd.track.aperture_limit(lat, xlim=1, ylim=1)¶
-
ocelot.cpbd.track.arg_peaks(data, extrema_chk=extrema_chk)¶ the function search peaks of spectrum and return positions of all peaks if extrema_chk == 1 uses numpy module if extrema_chk == 0 uses independent code (see below)
-
ocelot.cpbd.track.spectrum(data1D)¶ input: 1D sample data output: frequency and fourier transform
-
ocelot.cpbd.track.find_nearest(positions, value)¶ input: 1D array and value the function searches nearest value in the array to the given value
-
ocelot.cpbd.track.find_highest(sorted_posns, value, diap)¶ input: 1D array and value the function searches highest value in the array to the given value
-
ocelot.cpbd.track.nearest_particle(track_list, xi, yi)¶
-
ocelot.cpbd.track.harmonic_position(data1D, nu=None, diap=0.1, nearest=False)¶ function searches three highest harmonics and return: a. the highest if nu == None b. the nearest harmonics to the nu (if nu != None)
-
ocelot.cpbd.track.freq_analysis(track_list, lat, nturns, harm=True, diap=0.1, nearest=False, nsuperperiods=1)¶
-
class
ocelot.cpbd.track.Track_info(particle, x=0.0, y=0.0)¶ -
get_x(self)¶
-
get_xp(self)¶
-
get_y(self)¶
-
get_yp(self)¶
-
-
ocelot.cpbd.track.contour_da(track_list, nturns, lvl=0.9)¶ the function defines contour of DA. If particle “lived” > lvl*nturns then we set up nturns if particle “lived” < lvl*nturns then we set up 0
-
ocelot.cpbd.track.stable_particles(track_list, nturns)¶
-
ocelot.cpbd.track.phase_space_transform(x, y, tws)¶ curved line of second order a11*x**2 + a22*y**2 + 2*a12*x*y + 2*a13*x + 2*a23*y + a33 = 0 gamma*x**2 + 2*alpha*x*x’ + beta*x’**2 = const
-
ocelot.cpbd.track.create_track_list(x_array, y_array, p_array, energy=0.0)¶ the function create list of Pxy
-
ocelot.cpbd.track.ellipse_track_list(beam, n_t_sigma=3, num=1000, type='contour')¶
-
ocelot.cpbd.track.track_nturns(lat, nturns, track_list, nsuperperiods=1, save_track=True, print_progress=True)¶
-
ocelot.cpbd.track.track_nturns_mpi(mpi_comm, lat, nturns, track_list, errors=None, nsuperperiods=1, save_track=True)¶
-
ocelot.cpbd.track.fma(lat, nturns, x_array, y_array, nsuperperiods=1)¶
-
ocelot.cpbd.track.da_mpi(lat, nturns, x_array, y_array, errors=None, nsuperperiods=1)¶
-
ocelot.cpbd.track.tracking_step(lat, particle_list, dz, navi)¶ tracking for a fixed step dz :param lat: Magnetic Lattice :param particle_list: ParticleArray or Particle list :param dz: step in [m] :param navi: Navigator :return: None
-
ocelot.cpbd.track.track(lattice, p_array, navi, print_progress=True, calc_tws=True, bounds=None)¶ tracking through the lattice
- Parameters
lattice – Magnetic Lattice
p_array – ParticleArray
navi – Navigator
print_progress – True, print tracking progress
calc_tws – True, during the tracking twiss parameters are calculated from the beam distribution
bounds – None, optional, [left_bound, right_bound] - bounds in units of std(p_array.tau())
- Returns
twiss_list, ParticleArray. In case calc_tws=False, twiss_list is list of empty Twiss classes.
-
ocelot.cpbd.track.lattice_track(lat, p)¶
-
ocelot.cpbd.track.merge_drifts(lat)¶
-
ocelot.cpbd.track.update_effective_beta(beam, lat)¶