Parallel capable? : yes

Parameter Name | Units | Type | Default | Description |

L | double | 0.0 | length | |

TILT | double | 0.0 | rotation about longitudinal axis | |

DX | double | 0.0 | misalignment | |

DY | double | 0.0 | misalignment | |

DZ | double | 0.0 | misalignment | |

FIELD_FACTOR | double | 1 | Factor by which to multiply the magnetic fields. | |

XY_FACTOR | double | 1 | Factor by which to multiply the x and y values in the input file. | |

INPUT_FILE | STRING | NULL | Name of SDDS file with undulator kickmap data. | |

N_KICKS | long | 1 | Number of kicks into which to split the element. | |

PERIODS | long | `0` |
Number of periods (for radiation integral computations only). | |

KREF | double | 0.0 | Reference value of undulator parameter. K=KREF*FIELD_FACTOR is used for radiation integral calculations only assuming period=L/PERIODS. | |

SYNCH_RAD | long | `0` |
include classical synchrotron radiation? | |

ISR | long | `0` |
include incoherent synchrotron radiation (scattering)? | |

GROUP | string | NULL | Optionally used to assign an element to a group, with a user-defined name. Group names will appear in the parameter output file in the column ElementGroup |

This element provides simulation of undulators using kick maps [27].
A script (`km2sdds`

) is provided with the `elegant`
distribution to translate RADIA [28] output into SDDS for use by
`elegant`

.

The input file has the following columns:

`x`

-- Horizontal position in meters.`y`

-- Vertical position in meters.`xpFactor`

-- Horizontal kick factor in . This factor is defined by equation (5a) in [27]. In particular, , where is the beam rigidity in .`ypFactor`

-- Vertical kick factor in . This factor is defined by equation (5b) in [27]. In particular, , where is the beam rigidity in .

`x`

and `y`

must be laid out on a grid of equispaced points.
It is assumed that the data is ordered such that `x`

varies fastest. This can be
accomplished with the command
% sddssort -column=y,increasing -column=x,increasing input1.sdds input2.sddswhere

`input1.sdds`

is the original (unordered) file and `input2.sdds`

is the
new file, which would be used with `UKICKMAP`

.
The data file is assumed to result from integration through a full device. If instead one
integrates through just a single period of a full device, one must multiply `FIELD_FACTOR`

by , where is the number of periods in the full device. It also makes
a certain amount of sense to set `N_KICKS`

equal to .

`elegant` performs radiation integral computations
for `UKICKMAP`

and can also include radiation effects in
tracking. This feature has limitations, namely, that the radiation
integral computations assume the device is horizontally deflecting.
However, in tracking, no such assumption is made. N.B.: at present
this element is *not* presently included in beam moments
computations via the `moments_output`

command.

This element was requested by W. Guo (BNL), who also assisted with the implementation and debugging.