I was playing around with adding new elements, and noticed that drift tracking results from MAD-X and elegant are different. I initially thought both codes had exact drifts.
However, in csbend.c:
Code: Select all
void exactDrift(double **part, long np, double length)
{
long i;
double *coord;
for (i=0; i<np; i++) {
coord = part[i];
coord[0] += coord[1]*length;
coord[2] += coord[3]*length;
coord[4] += length*sqrt(1+sqr(coord[1])+sqr(coord[3]));
}
}
- Am I correct in interpreting this approximation as beta~1 + expansion in x'/y', suitable for larger rings?
- Could 'true exact' mode be added? It would be useful for small rings, and benchmarking with other codes. I can give it a shot, but elegant coordinates still scare me hehe.
- Regardless, can documentation be clarified to indicate these approximations?