&sdds_beam STRING input = NULL; STRING iput_list = NULL; STRING input_type = "elegant"; long n_particles_per_ring = 0; STRING selection_parameter = NULL; STRING selection_string = NULL; long one_random_bunch = 0; long reuse_bunch = 0; long prebunched = -1; long track_pages_separately = 0; long use_bunched_mode = 0; long sample_interval = 1; long n_tables_to_skip = 0; long center_transversely = 0; long center_arrival_time = 0; double sample_fraction = 1; double p_lower = 0.0; double p_upper = 0.0; long save_initial_coordinates = 1; long reverse_t_sign = 0; &end
input-- Name of an SDDS file containing coordinates of input particles.
input_type-- May be ``elegant'' or ``spiffe'', indicating the name of the program that wrote the input file. The expected data quantities for the different types are:
particleIDcolumn may also be given; it should contain a positive integer that is unique for each particle.
n_particles_per_ring-- For spiffe data, gives the number of particles to generate for each ring of charge.
selection_parameter-- The name of a parameter in the SDDS file to be used for selection of pages of data.
selection_string-- The value of the
selection_parameterselection parameter required for a page to be used. E.g., if one has a file from the shower program containing positrons, electrons, and photons, one might want to select only the positrons.
one_random_bunch-- A flag indicating whether, for spiffe data, a new random distribution should be calculated for each step of the simulation.
reuse_bunch-- A flag indicating whether to use the bunch again or not. If set, then the first bunch in the file is used repeatedly for as many tracking steps as requested. Otherwise, each bunch is used only once and the number of steps is limited to the number of bunches (e.g., the number of pages in the file when
prebunched-- Deprecated. Use
track_pages_separately-- If non-zero, then separate pages of the input file are tracked separately. Otherwise, the entire file is tracked together.
use_bunched_mode-- If non-zero, then the
IDSlotsPerBunchparameter is used to determine the bunch assignment of particles in the beam based on values in the
particleIDcolumn. In particular, the bunch number is , where is the particle ID and =
sample_interval-- If non-zero, only every
sample_intervalparticle is used.
n_tables_to_skip-- Number of SDDS pages to skip at the beginning of the file.
center_transversely-- If non-zero, the transverse centroids of the distribution are made to be zero.
center_arrival_time-- If non-zero, the mean arrival time of particles at the start of the accelerator is set to zero.
sample_fraction-- If non-unity, the randomly selected fraction of the distribution to use.
p_upper-- If different, the lower and upper limit on of particles to use.
save_initial_coordinates-- A flag that, if set, results in saving initial coordinates of tracked particles in memory. This is the default behavior. If unset, the initial coordinates are not saved, but are reread from disk each time they are needed. This is more memory efficient and is useful for tracking very large numbers of particles.