wiki:guiNeaPig/BeamInteraction

beam interaction

Both crossing beams are split in slices (the number of slices of each beam is 'n_slice'). At each 'slice-step' there are interacting pair slices (a 'pair' is made of a slice of one beam and a slice of the other). One has to consider one beam (with slices numbered, for example, from right to left : O, 1, 2, .... n_slices) passing before an other beam (with slices numbered from left to right : 0,1,...., n_slices)

  • At slice-step numbered 0 there is one interacting pair : 0-0
  • At slice-step numbered 1 two pairs : 0-1 and 1-0,
  • At slice-step numbered 2 there are three of them : 0-2, 1-1 and 2-0
  • and so on...
  • until slice-step numbered n_slice-1 (when two beams exactly overlap) where the pairs are : 0-(n_slice_1), ...., (n_slice-1)-0

The beam crossing has to be ended by the following slice-steps :

  • pairs : 1-(n_slice-1), 2-(n_slice-2), ...., (n_slice-1)-1
  • pairs : 2-(n_slice-1), 3-(n_slice-2), ...., (n_slice-1)-2

each slice-step is defined by two values : firstSliceOfBeam1 and lastSliceOfBeam2, treating pairs (SliceOfBeam1-SliceOfBeam2), with SliceOfBeam1 running in increasing order from firstSliceOfBeam1 to min(n_slice, lastSliceOfBeam2) and SliceOfBeam2 running in decreasing order from lastSliceOfBeam2 to firstSliceOfBeam1. The number of pairs at each slice_step is : firstSliceOfBeam1 + lastSliceOfBeam2 + 1. A slice-step consists of a call to the GUINEA-method : iteration_on_overlaping_slices(int firstSliceOfBeam1, int lastSliceOfBeam2,...) or iteration_on_overlaping_slices_with_trackpair(...,int firstSliceOfBeam1, int lastSliceOfBeam2,...)

Each slice-step (in methods iteration_on_overlaping_slices or iteration_on_overlaping_slices_with_trackpair) is computed by splitting into 'time-steps' (the number of time steps per slice-steps is given through the keyword 'n_t' in the file acc.dat). One of these 'time-steps' is a call to the GUINEA-method : make_time_step_on_slices(unsigned int firstSliceOfBeam1, unsigned int lastSliceOfBeam2, ...). Finally, the interaction of a single pair (sliceOfBeam1-sliceOfBeam2) is realized by a call to the GUINEA-method :

make_step(int sliceOfBeam1, int sliceOfBeam2,...)

Last modified 16 years ago Last modified on Oct 7, 2008, 5:10:55 PM