:mod:`ocelot.lib.genera.src.python.radiation.generaSR` ====================================================== .. py:module:: ocelot.lib.genera.src.python.radiation.generaSR Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: ocelot.lib.genera.src.python.radiation.generaSR.Trajectory ocelot.lib.genera.src.python.radiation.generaSR.Bend_radiation Functions ~~~~~~~~~ .. autoapisummary:: ocelot.lib.genera.src.python.radiation.generaSR.list_of_lists_to_LIST ocelot.lib.genera.src.python.radiation.generaSR.pointer_to_list ocelot.lib.genera.src.python.radiation.generaSR.radiation ocelot.lib.genera.src.python.radiation.generaSR.motion_to_trj ocelot.lib.genera.src.python.radiation.generaSR.define_status ocelot.lib.genera.src.python.radiation.generaSR.data_format ocelot.lib.genera.src.python.radiation.generaSR.checking_step ocelot.lib.genera.src.python.radiation.generaSR.calculateSR_py .. data:: __author__ :annotation: = Sergey Tomin .. data:: path_to_ocelot .. data:: tail :annotation: = /lib/genera/build/genera_libs/radiation.so .. data:: home_dir .. data:: pathToDll .. data:: my_rad .. py:class:: Trajectory Charged Particle Trajectory .. attribute:: arX .. attribute:: arXp .. attribute:: arY .. attribute:: arYp .. attribute:: arZ .. attribute:: arZp .. attribute:: np :annotation: = 0 .. attribute:: ctStart :annotation: = 0 .. attribute:: ctEnd :annotation: = 0 .. function:: list_of_lists_to_LIST(list_lists) .. function:: pointer_to_list(list_motion) .. function:: radiation(em_screen, list_motion, gamma, beam_current, undulator, mode_proc) .. function:: motion_to_trj(list_motions) .. function:: 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) .. function:: data_format(emscreen) .. function:: checking_step(lat, screen, beam, list_motions) .. function:: 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. a. Current must be in mA. b. 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 c. Code can choose right library (dll / so) automatically depend on OS d. list_lists_motion will be transform to list_motiona .. py:class:: Bend_radiation(B0, energy, I) .. method:: flux_distrib(self) :return: flux in ph/sec/mrad**2/0.1%BW .. method:: flux_total(self)