ocelot.lib.genera.src.python.radiation.generaSR

Module Contents

Functions

list_of_lists_to_LIST(list_lists)

pointer_to_list(list_motion)

radiation(em_screen, list_motion, gamma, beam_current, undulator, mode_proc)

motion_to_trj(list_motions)

define_status(cell, beam, mode_traj)

new feature - the function analyses the parameters of task and define one of two possible modes:

data_format(emscreen)

checking_step(lat, screen, beam, list_motions)

calculateSR_py(lat, beam, screen, accuracy=2, runParameters=None)

  1. find trajectory and mag field on the trajectory. system of unit is [mm,rad]

ocelot.lib.genera.src.python.radiation.generaSR.__author__ = Sergey Tomin
ocelot.lib.genera.src.python.radiation.generaSR.path_to_ocelot
ocelot.lib.genera.src.python.radiation.generaSR.tail = /lib/genera/build/genera_libs/radiation.so
ocelot.lib.genera.src.python.radiation.generaSR.home_dir
ocelot.lib.genera.src.python.radiation.generaSR.pathToDll
ocelot.lib.genera.src.python.radiation.generaSR.my_rad
class ocelot.lib.genera.src.python.radiation.generaSR.Trajectory

Charged Particle Trajectory

arX
arXp
arY
arYp
arZ
arZp
np = 0
ctStart = 0
ctEnd = 0
ocelot.lib.genera.src.python.radiation.generaSR.list_of_lists_to_LIST(list_lists)
ocelot.lib.genera.src.python.radiation.generaSR.pointer_to_list(list_motion)
ocelot.lib.genera.src.python.radiation.generaSR.radiation(em_screen, list_motion, gamma, beam_current, undulator, mode_proc)
ocelot.lib.genera.src.python.radiation.generaSR.motion_to_trj(list_motions)
ocelot.lib.genera.src.python.radiation.generaSR.define_status(cell, beam, mode_traj)

new feature - the function analyses the parameters of task and define one of two possible modes: a. fast calculation ( without ending poles) b. classic calculation ( with ending poles)

ocelot.lib.genera.src.python.radiation.generaSR.data_format(emscreen)
ocelot.lib.genera.src.python.radiation.generaSR.checking_step(lat, screen, beam, list_motions)
ocelot.lib.genera.src.python.radiation.generaSR.calculateSR_py(lat, beam, screen, accuracy=2, runParameters=None)
  1. find trajectory and mag field on the trajectory. system of unit is [mm,rad]

  2. display undulator parameter, for the controlling of calculation

  3. creation new class EMScreen. transform units of Screen [m] to units of EMScreen [mm]

    New system of definition em_screen.x_start, x_step and etc

  4. calculation of radiation.
    1. Current must be in mA.

    2. mode_proc can be “CPU” or “GPU”. code can choose automatically mode_proc if OS has not pyopencl or dimentions of task are very large

    3. Code can choose right library (dll / so) automatically depend on OS

    4. list_lists_motion will be transform to list_motiona

class ocelot.lib.genera.src.python.radiation.generaSR.Bend_radiation(B0, energy, I)
flux_distrib(self)
Returns

flux in ph/sec/mrad**2/0.1%BW

flux_total(self)