BEND
BEND
IL : I
XL, Sk, B1 : 3E
X_E, LAM_E, W_E : 3E
N, C_0, C_1, C_2, C_3, C_4, C_5 : I,6E
X_S, LAM_S, W_S : 3E
NS, CS_0, CS_1, CS_2, CS_3, CS_4, CS_5 : I,6E
XPAS: X
KPOS, XCE, YCE, ALE : I,3E


CAVITE
CAVITE
IOPT : E
!IOPT==0
X, X : 2E
!IOPT==1
L, h : 2E
V, X : 2E
!IOPT==2
L, h : 2E
V, sig_s : 2E
!IOPT==3
X,X : 2E
V, sig_s : 2E
!IOPT==7
L, h : 2E
V, sig_s :2E

CHAMBR
CHAMBR
IA : I
IFORM,YL,ZL,YC,ZC : I,4E

CHANGREF
CHANGREF
XCE, YCE, ALE : 3E

DIPOLES 
DIPOLES #IND must be set to 5, i.e. up to dodecapole term
IL : I
N, AT, RM: I,2E
!N*{
ACN, DELTA_RM, B_0, IND, BCOEF1, BCOEF2, BCOEF3, BCOEF4, BCOEF5, BCOEF6, BCOEF7, BCOEF8, BCOEF9, BCOEF10 : 3E, I, 10E
G0_E, KAPPA_E: 2E
NCE, CE_0, CE_1, CE_2, CE_3, CE_4, CE_5, SHIFT_E: I,7E
OMEGA_E, THETA_E, R1_E, U1_E, U2_E, R2_E: 6E
G0_S, KAPPA_S: 2E
NCS, CS_0, CS_1, CS_2, CS_3, CS_4, CS_5, SHIFT_S: I,7E
OMEGA_S, THETA_S, R1_S, U1_S, U2_S, R2_S: 6E
G0_L, KAPPA_L: 2E
NCL, CL_0, CL_1, CL_2, CL_3, CL_4, CL_5, SHIFT_L: I,7E
OMEGA_L, THETA_L, R1_L, U1_L, U2_L, R2_L, R3: 7E
!}
KIRD, RESOL: E,I
XPAS: E
KPOS, RE, TE, RS, TS: I,4E

DIPOLE
DIPOLE
IL : I
AT, RM: 2E
ACN, B_0, N, B, G : 5E
LAM_E, XI_E: 2E
NCE, CE_0, CE_1, CE_2, CE_3, CE_4, CE_5, SHIFT_E: I,7E
OMEGA_E, THETA_E, R1_E, U1_E, U2_E, R2_E: 6E
LAM_S, XI_S: 2E
NCS, CS_0, CS_1, CS_2, CS_3, CS_4, CS_5, SHIFT_S: I,7E
OMEGA_S, THETA_S, R1_S, U1_S, U2_S, R2_S: 6E
LAM_L, XI_L: 2E
NCL, CL_0, CL_1, CL_2, CL_3, CL_4, CL_5, SHIFT_L: I,7E
OMEGA_L, THETA_L, R1_L, U1_L, U2_L, R2_L, R3: 7E
IORDRE, Resol : I, E
XPAS: E
KPOS, RE, TE, RS, TS: I,4E

DRIFT
DRIFT
XL: E

END
END

FAISCEAU
FAISCEAU

FAISCNL
FAISCNL
FNAME : A80

FAISTORE
FAISTORE
FNAME, LABELS : A80, A1000 # put all labels in one string surrounded by square brackets
IP : I

FFAG
FFAG
IL : I
N, AT, RM: I,2E
!N*{
ACN, DELTA_RM, BZ_0, K: 4E
G0_E, KAPPA_E: 2E
NCE, CE_0, CE_1, CE_2, CE_3, CE_4, CE_5, SHIFT_E: I,7E
OMEGA_E, THETA_E, R1_E, U1_E, U2_E, R2_E: 6E
G0_S, KAPPA_S: 2E
NCS, CS_0, CS_1, CS_2, CS_3, CS_4, CS_5, SHIFT_S: I,7E
OMEGA_S, THETA_S, R1_S, U1_S, U2_S, R2_S: 6E
G0_L, KAPPA_L: 2E
NCL, CL_0, CL_1, CL_2, CL_3, CL_4, CL_5, SHIFT_L: I,7E
OMEGA_L, THETA_L, R1_L, U1_L, U2_L, R2_L: 6E
!}
KIRD, RESOL: 2I
XPAS: E
KPOS, RE, TE, RS, TS: I,4E

MARKER
MARKER

MATRIX
MATRIX
IORD, IFOC :2I

MCDESINT
MCDESINT
M2, M3 : 2E
I1, I2, I3 : 3I

MULTIPOL
MULTIPOL
IL : I  
XL, R_0, B_1, B_2, B_3, B_4, B_5, B_6, B_7, B_8, B_9, B_10: 12E
X_E, LAM_E, E_2, E_3, E_4, E_5, E_6, E_7, E_8, E_9, E_10: 11E
NCE, C_0, C_1, C_2, C_3, C_4, C_5 : I,6E
X_S, LAM_S, S_2, S_3, S_4, S_5, S_6, S_7, S_8, S_9, S_10 : 11E
NCS, CS_0, CS_1, CS_2, CS_3, CS_4, CS_5 : I,6E
R_1, R_2, R_3, R_4, R_5, R_6, R_7, R_8, R_9, R_10: 10E
XPAS : X
KPOS, XCE, YCE, ALE : I,3E

ORDRE
ORDRE
IO : I

PARTICUL
PARTICUL
M, Q, G, tau, X : 5E

POLARMES
POLARMES
IC, IL : 2I
BNORM, AN, RN : 3E
TITL : A80
IA, JR : 2I
FNAME : A80
ID, A, B, C : I,3E
IORDRE : I
XPAS : E
KPOS : I
!KPOS==2
RE, TE, RS, TS: 4E
!KPOS==1
DP : E


QUADRUPO # the class will be called QUADRUPO
QUADRUPO # the zgoubi element is called QUADRUPO
IL : I   # parameters and type I=int, E=float,A=strings numbers for multiples
XL, R_0, B_0: 3E
X_E, LAM_E: 2E
NCE, C_0, C_1, C_2, C_3, C_4, C_5 : I,6E
X_S, LAM_S : 2E
NCS, CS_0, CS_1, CS_2, CS_3, CS_4, CS_5 : I,6E
XPAS : X # XPAS is special, can be a tuple of 3 ints (zgoubi prefixes with a hash and separates them with pipe)
KPOS, XCE, YCE, ALE : I,3E

REBELOTE
REBELOTE
NPASS, KWRIT, K : 3I

SCALING #simplified scaling for just one element
SCALING
IOPT, NFAM: 2I
NAMEF : A80
NT : I
SCL : E
TIM : I

SPNPRNL #store spin coordinates into file FNAME
SPNPRNL
FNAME : A80

SPNPRT #print spin coordinates wherever this appears
SPNPRT

SPNSTORE
SPNSTORE
FNAME, LABELS : A80, A1000 # put all labels in one string surrounded by square brackets
IP : I

TOSCA
TOSCA
IC, IL : 2I
BNORM, XN, YN, ZN : 4E
TIT : A80
IX, IY, IZ, MOD : 4I  #zgoubi manual says 3I, i think its a mistake
FNAME : A8000
ID, A, B, C, Ap, Bp, Cp, App, Bpp, Cpp : I, 9E  # if ID < 0 there should be more ABCs etc.
IORDRE : I
XPAS : X
KPOS: I
!KPOS==1
XCE, YCE, ALE : 3E
!KPOS==2
RE, TE, RS, TS: 4E

UNIPOT
UNIPOT
IL: I
X1, D, X2, X3, R0 : 5E
V1, V2: 2E
XPAS : E
KPOS, XCE, YCE, ALE : I,3E

YMY # has no parameters
YMY
