Parallel capable? : yes

Parameter Name | Units | Type | Default | Description |

L | double | 0.0 | length | |

ATTENUATION_LENGTH | double | 0.0 | exponential attenuation length for wake | |

DZ | double | 0.0 | interval between kicks | |

N_KICKS | long | 1 | number of kicks (if DZ is zero) | |

SPREAD | long | `0` |
use spreading function? | |

USE_OVERTAKING_LENGTH | long | `0` |
use overtaking length for ATTENUATION_LENGTH? | |

OL_MULTIPLIER | double | 1 | factor by which to multiply the overtaking length to get the attenuation length | |

USE_SALDIN54 | long | `0` |
Use Saldin et al eq. 54 (NIM A 398 (1997) 373-394 for decay vs z? | |

SALDIN54POINTS | long | 1000 | Number of values of position inside bunch to average for Saldin eq 54. | |

CSR | long | 1 | do CSR calcuations | |

SALDIN54NORM_MODE | STRING | peak | peak or first | |

SPREAD_MODE | STRING | full | full, simple, or radiation-only | |

WAVELENGTH_MODE | STRING | sigmaz | sigmaz or peak-to-peak | |

BUNCHLENGTH_MODE | STRING | 68-percentile | rms, 68-percentile, or 90-percentile | |

SALDIN54_OUTPUT | STRING | NULL | Filename for output of CSR intensity vs. z as computed using Saldin eq 54. | |

USE_STUPAKOV | long | `0` |
Use treatment from G. Stupakov's note of 9/12/2001? | |

STUPAKOV_OUTPUT | STRING | NULL | Filename for output of CSR wake vs. s as computed using Stupakov's equations. | |

STUPAKOV_OUTPUT_INTERVAL | long | 1 | Interval (in kicks) between output of Stupakov wakes. | |

SLICE_ANALYSIS_INTERVAL | long | `0` |
interval (in kicks) of output to slice analysis file (from slice_analysis command) |

A follow-on element for CSRCSBEND that applies the CSR wake over a drift.

Parameter Name | Units | Type | Default | Description |

LINEARIZE | long | `0` |
use linear optics for drift pieces? | |

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 has a number of models for simulation of CSR in drift
spaces following CSRCSBEND elements. Note that all models allow
support splitting the drift into multiple CSRDRIFT elements.
One can also have intervening elements like quadrupoles,
as often happens in chicanes. The CSR effects inside such
intervening elements are applied in the CSRDRIFT downstream of
the element.

For a discussion of some of the methods behind this element, see M. Borland, ``Simple method for particle tracking with coherent synchrotron radiation,'' Phys. Rev. ST Accel. Beams 4, 070701 (2001).

**N.B.**: by default, this element uses 1 CSR kick (N_KICKS=1) at the
center of the drift. This is usually not a good choice. I usually
use the DZ parameter instead of N_KICKS, and set it to something
like 0.01 (meters). The user should vary this parameter to assess
how small it needs to be.

The models are as following, in order of decreasing sophistication and accuracy:

- G. Stupakov's extension of Saldin et al. Set USE_STUPAKOV=1.
The most advanced model at present is based on a private communication
from G. Stupakov (SLAC), which extends equation 87 of the one-dimensional
treatment of Saldin et al. (NIM A 398 (1997) 373-394) to include the
post-dipole region. This model includes not only the attenuation of the
CSR as one proceeds along the drift, but also the change in the shape of
the ``wake.''
This model has the most sophisticated treatment for intervening elements of any of the models. For example, if you have a sequence

`CSRCSBEND`-`CSRDRIFT`-`CSRDRIFT`and compare it with the sequence`CSRCSBEND`-`CSRDRIFT`-`DRIFT`-`CSRDRIFT`, keeping the total drift length constant, you'll find no change in the CSR-induced energy modulation. The model back-propagates to the beginning of the intervening element and performs the CSR computations starting from there.This is the slowest model to run. It uses the same binning and smoothing parameters as the upstream CSRCSBEND. If run time is a problem, compare it to the other models and use only if you get different answers.

- M. Borland's model based on Saldin et al. equations 53 and 54.
Set USE_SALDIN54=1. This model computes the fall-off of the CSR wake
from the work of Saldin and coworkers, as described in the reference
above. It does not compute the change in the shape of the wake. The
fall-off is computed approximately as well, based on the fall-off for
a rectangular current distribution. The length of this rectangular
bunch is taken to be twice the bunch length computed according to the
BUNCHLENGTH_MODE parameter (see below). If your bunch is nearly
rectangular, then you probably want BUNCHLENGTH_MODE of
``90-percentile''.
- Exponential attenuation of a CSR wake with unchanging shape.
There are two options here. First, you can provide the attenuation
length yourself, using the ATTENUATION_LENGTH parameter. Second, you
can set USE_OVERTAKING_LENGTH=1 and let
`elegant`compute the overtaking length for use as the attenuation length. In addition, you can multiply this result by a factor if you wish, using the OL_MULTIPLIER parameter. - Beam-spreading model. This model is not recommended. It is
based on the seemingly plausible idea that CSR spreads out just like
any synchrotron radiation, thus decreasing the intensity. The model
doesn't reproduce experiments.

The ``Saldin 54'' and ``overtaking-length'' models rely on computation of the bunch length, which is controlled with the BUNCHLENGTH_MODE parameter. Nominally, one should use the true RMS, but when the beam has temporal spikes, it isn't always clear that this is the best choice. The choices are ``rms'', ``68-percentile'', and ``90-percentile''. The last two imply using half the length determined from the given percentile in place of the rms bunch length. I usually use 68-percentile, which is the default.