1212
1313def mlsLattice () -> at .Lattice :
1414
15- # Global ring parameters
15+ # ---- Global ring parameters ----
1616 harmonic_number = 80
1717 energy = 629e6
1818
19- # Dipole settings and slicing
19+ # ---- Dipole settings ----
2020 n_dipoles = 8
2121 dipole_length = 1.2
2222 bending_angle = np .pi * 2 / n_dipoles
2323 entrance_angle = np .pi * 2 / n_dipoles / 2
2424 exit_angle = np .pi * 2 / n_dipoles / 2
2525
26- # Quadrupole settings based on power supply configurations
27- #//QUADRUPOLE DEFINITION // Qx=3.178,Qy=2.232,alpha_0=0.03
26+ # ---- Quadrupole settings based on power supply configurations ----
2827 VQ1 = 2.9624
2928 VQ1_SEP = 2.4746
3029 VQ2K = - 4.50667
3130 VQ2L = - 4.17499
3231 VQ3K = 5.00574
3332 VQ3L = 5.19192
3433
35- # Sextupole settings based on power supply configurations
34+ # ---- Sextupole settings based on power supply configurations ----
35+ # This needs to be updated!
3636 #//SEXTUPOLE DEFINITION // xi_x=xi_y=+1
3737 VS1 = 0.0
3838 VS2 = 0.0
@@ -60,231 +60,233 @@ def mlsLattice() -> at.Lattice:
6060 #VS3P2=0.0
6161 #--------------------------
6262
63-
64- # Octupole settings based on power supply configurations
63+ # ---- Octupole settings based on power supply configurations ----
6564 VO1 = 0.0
6665
67- # Cavity settings
66+ # ---- Cavity settings ----
6867 rf_frequency = 499654096.6666665
69- main_cavity_voltage = 500e3 / 2.0
68+ main_cavity_voltage = 500e3
69+
70+ # ---- Lattice ----
71+
72+ # Lattice starts in middle of the injection straight
7073
71- # CAV: RFCAVITY,L=0.15,VOLT=-0.5/2.0,HARMON=80,no_cavity_totalpath=true; // 1/2 RF CAV
72-
73- # at.Marker('QPD00')
74- # at.Marker('QPD01')
75- # at.Marker('IR')
76- # at.Marker('THZ')
77- # at.Marker('VUV')
78- # at.Marker('EUV')
79- # at.Marker('QNIM')
80-
81- # //DIPOLE DEFINITION
82- # //BBSBEND: SBEND, L=1.2, ANGLE=PI/4;
83- # //BBDIPEDGE1: dipedge, h=PI/4./1.2,E1=PI/8.,hgap=0.025,FINT=0.5;
84- # //BBDIPEDGE2: dipedge, h=PI/4./1.2,E1=PI/8.,hgap=0.025,FINT=0.5;
85- # //BB: line=(BBDIPEDGE1,BBSBEND,BBDIPEDGE2);
86- # BBSBENDquarter: SBEND, L=1.2/4, ANGLE=PI/4/4;
87- # BBDIPEDGE1: dipedge, h=PI/4./1.2,E1=PI/8.,hgap=0.025,FINT=0.5;
88- # BBDIPEDGE2: dipedge, h=PI/4./1.2,E1=PI/8.,hgap=0.025,FINT=0.5;
89- # BB1: line=(BBDIPEDGE1,BBSBENDquarter,BBSBENDquarter,BBSBENDquarter,BBSBENDquarter,BBDIPEDGE2);
90- # BB2: line=(BBDIPEDGE1,BBSBENDquarter,BBSBENDquarter,BBSBENDquarter,BBSBENDquarter,BBDIPEDGE2);
91- # BB3: line=(BBDIPEDGE1,BBSBENDquarter,QPD01,BBSBENDquarter,QNIM,BBSBENDquarter,BBSBENDquarter,BBDIPEDGE2);
92- # BB4: line=(BBDIPEDGE1,BBSBENDquarter,EUV,BBSBENDquarter,VUV,BBSBENDquarter,BBSBENDquarter,BBDIPEDGE2);
93- # BB5: line=(BBDIPEDGE1,BBSBENDquarter,THZ,BBSBENDquarter,BBSBENDquarter,BBSBENDquarter,BBDIPEDGE2);
94- # BB6: line=(BBDIPEDGE1,BBSBENDquarter,IR,BBSBENDquarter,QPD00,BBSBENDquarter,BBSBENDquarter,BBDIPEDGE2);
95- # BB7: line=(BBDIPEDGE1,BBSBENDquarter,BBSBENDquarter,BBSBENDquarter,BBSBENDquarter,BBDIPEDGE2);
96- # BB8: line=(BBDIPEDGE1,BBSBENDquarter,BBSBENDquarter,BBSBENDquarter,BBSBENDquarter,BBDIPEDGE2);
97-
98-
9974 first_half_of_K1 = [\
10075 at .Marker ('SEP_MARKER' ),\
101- at .Drift ('DK ' ,1.25 ),\
76+ at .Drift ('DKL2K1RP_1 ' ,1.2034 ),\
10277 at .Monitor ('BPMZ5K1RP' ),\
78+ at .Drift ('DKL2K1RP_2' ,0.0466 ),\
10379 at .Sextupole ('S3M2K1RP' ,0.1 ,h = VS3 ,Corrector = 'HV' ,KickAngle = [0 ,0 ]),\
104- at .Drift ('D1 ' ,0.15 ),\
80+ at .Drift ('D1L4K1RP ' ,0.15 ),\
10581 at .Quadrupole ('Q3M2K1RP' ,0.2 ,k = VQ3K ),\
106- at .Drift ('D1 ' ,0.15 ),\
82+ at .Drift ('D1L5K1RP ' ,0.15 ),\
10783 at .Quadrupole ('Q2M2K1RP' ,0.2 ,k = VQ2K ),\
108- at .Drift ('D3 ' ,0.425 ),\
84+ at .Drift ('D3L3K1RP_1 ' ,0.054 ),\
10985 at .Monitor ('BPMZ6K1RP' ),\
86+ at .Drift ('D3L3K1RP_2' ,0.371 ),\
11087 at .Dipole ('BM2K1RP' ,dipole_length , bending_angle ,EntranceAngle = entrance_angle , ExitAngle = exit_angle ,FullGap = 0.025 * 2 ,FringeInt1 = 0.5 ,FringeInt2 = 0.5 ),\
111- at .Drift ('D3 ' ,0.425 ),\
88+ at .Drift ('D3L4K1RP ' ,0.425 ),\
11289 at .Sextupole ('S2M2K1RP' ,0.1 ,h = VS2 ,Corrector = 'V' ,KickAngle = [0 ,0 ]),\
90+ at .Drift ('D4L2K1RP_1' ,0.049 ),\
11391 at .Monitor ('BPMZ7K1RP' ),\
114- at .Drift ('D4 ' ,0.3 ),\
92+ at .Drift ('D4L2K1RP_2 ' ,0.251 ),\
11593 at .Sextupole ('S1M2K1RP' ,0.1 ,h = VS1 ,Corrector = 'H' ,KickAngle = [0 ,0 ]),\
116- at .Drift ('D1 ' ,0.15 ),\
94+ at .Drift ('D1L6K1RP ' ,0.15 ),\
11795 at .Quadrupole ('Q1M2K1RP' ,0.2 ,k = VQ1_SEP ),\
118- at .Drift ('D2 ' ,0.125 ),\
96+ at .Drift ('D2L2K1RP ' ,0.125 ),\
11997 at .Octupole ('OMK1RP' , 0.1 , [0 ,0 ,0 ,0 ], [0 ,0 ,0 ,VO1 ]),\
120- at .Drift ('D2' ,0.125 ),\
12198 ]
12299
123100 L2 = [\
101+ at .Drift ('D2L1L2RP_1' ,0.054 ),\
124102 at .Monitor ('BPMZ1L2RP' ),\
103+ at .Drift ('D2L1L2RP_2' ,0.071 ),\
125104 at .Quadrupole ('Q1M1L2RP' ,0.2 ,k = VQ1 ),\
126- at .Drift ('D1 ' ,0.15 ),\
105+ at .Drift ('D1L1L2RP ' ,0.15 ),\
127106 at .Sextupole ('S1M1L2RP' ,0.1 ,h = VS1 ,Skew = 'CQ' ),\
128- at .Drift ('D4 ' ,0.3 ),\
107+ at .Drift ('D4L1L2RP ' ,0.3 ),\
129108 at .Sextupole ('S2M1L2RP' ,0.1 ,h = VS2 ,Corrector = 'V' ,KickAngle = [0 ,0 ]),\
109+ at .Drift ('D3L1L2RP_1' ,0.054 ),\
130110 at .Monitor ('BPMZ2L2RP' ),\
131- at .Drift ('D3 ' ,0.425 ),\
111+ at .Drift ('D3L1L2RP_2 ' ,0.371 ),\
132112 at .Dipole ('BM1L2RP' ,dipole_length , bending_angle ,EntranceAngle = entrance_angle , ExitAngle = exit_angle ,FullGap = 0.025 * 2 ,FringeInt1 = 0.5 ,FringeInt2 = 0.5 ),\
133- at .Drift ('D3' ,0.425 ),\
134- at .Quadrupole ('Q2M1L2RP' ,0.2 ,k = VQ2L ),\
113+ at .Drift ('D3L2L2RP_1' ,0.4122 ),\
135114 at .Monitor ('BPMZ3L2RP' ),\
136- at .Drift ('D1' ,0.15 ),\
115+ at .Drift ('D3L2L2RP_2' ,0.0128 ),
116+ at .Quadrupole ('Q2M1L2RP' ,0.2 ,k = VQ2L ),\
117+ at .Drift ('D1L2L2RP' ,0.15 ),\
137118 at .Quadrupole ('Q3M1L2RP' ,0.2 ,k = VQ3L ),\
138- at .Drift ('D1 ' ,0.15 ),\
119+ at .Drift ('D1L3L2RP ' ,0.15 ),\
139120 at .Sextupole ('S3M1L2RP' ,0.1 ,h = VS3 ,Corrector = 'HV' ,KickAngle = [0 ,0 ]),\
121+ at .Drift ('DLL1L2RP_1' ,0.0466 ),\
140122 at .Monitor ('BPMZ4L2RP' ),\
141- at .Drift ('DL' ,3.0 ),\
142- at .Marker ('UND_MARKER' ),\
143- at .Drift ('DL' ,3.0 ),\
144- at .Sextupole ('S3M2L2RP' ,0.1 ,h = VS3 ,Corrector = 'HV' ,KickAngle = [0 ,0 ]),\
123+ at .Drift ('DLL1L2RP_2' ,2.9534 ),\
124+ at .Marker ('U125' ),\
125+ at .Drift ('DLL2L2RP_1' ,2.9534 ),\
145126 at .Monitor ('BPMZ5L2RP' ),\
146- at .Drift ('D1' ,0.15 ),\
127+ at .Drift ('DLL2L2RP_2' ,0.0466 ),\
128+ at .Sextupole ('S3M2L2RP' ,0.1 ,h = VS3 ,Corrector = 'HV' ,KickAngle = [0 ,0 ]),\
129+ at .Drift ('D1L4L2RP' ,0.15 ),\
147130 at .Quadrupole ('Q3M2L2RP' ,0.2 ,k = VQ3L ),\
148- at .Drift ('D1 ' ,0.15 ),\
131+ at .Drift ('D1L5L2RP ' ,0.15 ),\
149132 at .Quadrupole ('Q2M2L2RP' ,0.2 ,k = VQ2L ),\
133+ at .Drift ('D3L3L2RP_1' ,0.054 ),\
150134 at .Monitor ('BPMZ6L2RP' ),\
151- at .Drift ('D3 ' ,0.425 ),\
135+ at .Drift ('D3L3L2RP_2 ' ,0.371 ),\
152136 at .Dipole ('BM2L2RP' ,dipole_length , bending_angle ,EntranceAngle = entrance_angle , ExitAngle = exit_angle ,FullGap = 0.025 * 2 ,FringeInt1 = 0.5 ,FringeInt2 = 0.5 ),\
153- at .Drift ('D3' ,0.425 ),\
154- at .Monitor ('BPMZ7L2RP' ),\
137+ at .Drift ('D3L4L2RP' ,0.425 ),\
155138 at .Sextupole ('S2M2L2RP' ,0.1 ,h = VS2 ,Corrector = 'V' ,KickAngle = [0 ,0 ]),\
156- at .Drift ('D4' ,0.3 ),\
139+ at .Drift ('D4L2L2RP_1' ,0.049 ),\
140+ at .Monitor ('BPMZ7L2RP' ),\
141+ at .Drift ('D4L2L2RP_2' ,0.251 ),\
157142 at .Sextupole ('S1M2L2RP' ,0.1 ,h = VS1 ,Skew = 'CQ' ),\
158- at .Drift ('D1 ' ,0.15 ),\
143+ at .Drift ('D1L6L2RP ' ,0.15 ),\
159144 at .Quadrupole ('Q1M2L2RP' ,0.2 ,k = VQ1 ),\
160- at .Drift ('D2 ' ,0.125 ),\
145+ at .Drift ('D2L2L2RP ' ,0.125 ),\
161146 at .Octupole ('OML2RP' , 0.1 , [0 ,0 ,0 ,0 ], [0 ,0 ,0 ,VO1 ]),\
162147 ]
163148
164149 K3 = [\
165- at .Drift ('D2 ' ,0.125 ),\
150+ at .Drift ('D2L1K3RP_1 ' ,0.054 ),\
166151 at .Monitor ('BPMZ1K3RP' ),\
152+ at .Drift ('D2L1K3RP_2' ,0.071 ),\
167153 at .Quadrupole ('Q1M1K3RP' ,0.2 ,k = VQ1 ),\
168- at .Drift ('D1 ' ,0.15 ),\
154+ at .Drift ('D1L1K3RP ' ,0.15 ),\
169155 at .Sextupole ('S1M1K3RP' ,0.1 ,h = VS1 ,Corrector = 'H' ,KickAngle = [0 ,0 ]),\
170- at .Drift ('D4 ' ,0.3 ),\
156+ at .Drift ('D4L1K3RP ' ,0.3 ),\
171157 at .Sextupole ('S2M1K3RP' ,0.1 ,h = VS2 ,Corrector = 'V' ,KickAngle = [0 ,0 ]),\
158+ at .Drift ('D3L1K3RP_1' ,0.054 ),\
172159 at .Monitor ('BPMZ2K3RP' ),\
173- at .Drift ('D3 ' ,0.425 ),\
160+ at .Drift ('D3L1K3RP_2 ' ,0.371 ),\
174161 at .Dipole ('BM1K3RP' ,dipole_length , bending_angle ,EntranceAngle = entrance_angle , ExitAngle = exit_angle ,FullGap = 0.025 * 2 ,FringeInt1 = 0.5 ,FringeInt2 = 0.5 ),\
175- at .Drift ('D3' ,0.425 ),\
176- at .Quadrupole ('Q2M1K3RP' ,0.2 ,k = VQ2K ),\
162+ at .Drift ('D3L2K3RP_1' ,0.4122 ),\
177163 at .Monitor ('BPMZ3K3RP' ),\
178- at .Drift ('D1' ,0.15 ),\
164+ at .Drift ('D3L2K3RP_2' ,0.0128 ),\
165+ at .Quadrupole ('Q2M1K3RP' ,0.2 ,k = VQ2K ),\
166+ at .Drift ('D1L2K3RP' ,0.15 ),\
179167 at .Quadrupole ('Q3M1K3RP' ,0.2 ,k = VQ3K ),\
180- at .Drift ('D1 ' ,0.15 ),\
168+ at .Drift ('D1L3K3RP ' ,0.15 ),\
181169 at .Sextupole ('S3M1K3RP' ,0.1 ,h = VS3 ,Corrector = 'HV' ,KickAngle = [0 ,0 ]),\
170+ at .Drift ('DKL1K3RP_1' ,0.0466 ),\
182171 at .Monitor ('BPMZ4K3RP' ),\
183- at .Drift ('DK' ,1.25 ),\
184- at .Drift ('DK' ,1.25 ),\
185- at .Sextupole ('S3M2K3RP' ,0.1 ,h = VS3 ,Corrector = 'HV' ,KickAngle = [0 ,0 ]),\
186- at .Drift ('D1' ,0.15 ),\
172+ at .Drift ('DKL1K3RP_2' ,1.2034 ),\
173+ at .Drift ('DKL2K3RP_1' ,1.2034 ),\
187174 at .Monitor ('BPMZ5K3RP' ),\
175+ at .Drift ('DKL2K3RP_2' ,0.0466 ),\
176+ at .Sextupole ('S3M2K3RP' ,0.1 ,h = VS3 ,Corrector = 'HV' ,KickAngle = [0 ,0 ]),\
177+ at .Drift ('D1L4K3RP' ,0.15 ),\
188178 at .Quadrupole ('Q3M2K3RP' ,0.2 ,k = VQ3K ),\
189- at .Drift ('D1' ,0.15 ),\
190- at .Monitor ('BPMZ6K3RP' ),\
179+ at .Drift ('D1L5K3RP' ,0.15 ),\
191180 at .Quadrupole ('Q2M2K3RP' ,0.2 ,k = VQ2K ),\
192- at .Drift ('D3' ,0.425 ),\
181+ at .Drift ('D3L3K3RP_1' ,0.054 ),\
182+ at .Monitor ('BPMZ6K3RP' ),\
183+ at .Drift ('D3L3K3RP_2' ,0.371 ),\
193184 at .Dipole ('BM2K3RP' ,dipole_length , bending_angle ,EntranceAngle = entrance_angle , ExitAngle = exit_angle ,FullGap = 0.025 * 2 ,FringeInt1 = 0.5 ,FringeInt2 = 0.5 ),\
194- at .Drift ('D3 ' ,0.425 ),\
185+ at .Drift ('D3L4K3RP ' ,0.425 ),\
195186 at .Sextupole ('S2M2K3RP' ,0.1 ,h = VS2 ,Corrector = 'V' ,KickAngle = [0 ,0 ]),\
187+ at .Drift ('D4L2K3RP_1' ,0.049 ),\
196188 at .Monitor ('BPMZ7K3RP' ),\
197- at .Drift ('D4 ' ,0.3 ),\
189+ at .Drift ('D4L2K3RP_2 ' ,0.251 ),\
198190 at .Sextupole ('S1M2K3RP' ,0.1 ,h = VS1 ,Corrector = 'H' ,KickAngle = [0 ,0 ]),\
199- at .Drift ('D1 ' ,0.15 ),\
200- at .Quadrupole ('Q1M2K3RP' ,0.2 ,k = VQ1_SEP ),\
201- at .Drift ('D2 ' ,0.125 ),\
191+ at .Drift ('D1L6K3RP ' ,0.15 ),\
192+ at .Quadrupole ('Q1M2K3RP' ,0.2 ,k = VQ1 ),\
193+ at .Drift ('D2L2K3RP ' ,0.125 ),\
202194 at .Octupole ('OMK3RP' , 0.1 , [0 ,0 ,0 ,0 ], [0 ,0 ,0 ,VO1 ]),\
203- at .Drift ('D2' ,0.125 ),\
204195 ]
205196
206197 L4 = [\
198+ at .Drift ('D2L1L4RP_1' ,0.054 ),\
207199 at .Monitor ('BPMZ1L4RP' ),\
200+ at .Drift ('D2L1L4RP_2' ,0.071 ),\
208201 at .Quadrupole ('Q1M1L4RP' ,0.2 ,k = VQ1 ),\
209- at .Drift ('D1 ' ,0.15 ),\
202+ at .Drift ('D1L1L4RP ' ,0.15 ),\
210203 at .Sextupole ('S1M1L4RP' ,0.1 ,h = VS1 ,Skew = 'CQ' ),\
211- at .Drift ('D4 ' ,0.3 ),\
204+ at .Drift ('D4L1L4RP ' ,0.3 ),\
212205 at .Sextupole ('S2M1L4RP' ,0.1 ,h = VS2 ,Corrector = 'V' ,KickAngle = [0 ,0 ]),\
206+ at .Drift ('D3L1L4RP_1' ,0.054 ),\
213207 at .Monitor ('BPMZ2L4RP' ),\
214- at .Drift ('D3 ' ,0.425 ),\
208+ at .Drift ('D3L1L4RP_2 ' ,0.371 ),\
215209 at .Dipole ('BM1L4RP' ,dipole_length , bending_angle ,EntranceAngle = entrance_angle , ExitAngle = exit_angle ,FullGap = 0.025 * 2 ,FringeInt1 = 0.5 ,FringeInt2 = 0.5 ),\
216- at .Drift ('D3' ,0.425 ),\
217- at .Quadrupole ('Q2M1L4RP' ,0.2 ,k = VQ2L ),\
218- at .Drift ('D1' ,0.15 ),\
210+ at .Drift ('D3L2L4RP_1' ,0.4122 ),\
219211 at .Monitor ('BPMZ3L4RP' ),\
212+ at .Drift ('D3L2L4RP_2' ,0.0128 ),\
213+ at .Quadrupole ('Q2M1L4RP' ,0.2 ,k = VQ2L ),\
214+ at .Drift ('D1L2L4RP' ,0.15 ),\
220215 at .Quadrupole ('Q3M1L4RP' ,0.2 ,k = VQ3L ),\
221- at .Drift ('D1 ' ,0.15 ),\
216+ at .Drift ('D1L3L4RP ' ,0.15 ),\
222217 at .Sextupole ('S3M1L4RP' ,0.1 ,h = VS3 ,Corrector = 'HV' ,KickAngle = [0 ,0 ]),\
218+ at .Drift ('DLL1L4RP_1' ,0.0466 ),\
223219 at .Monitor ('BPMZ4L4RP' ),\
224- at .Drift ('DL_CAV' ,2.85 ),\
225- at .RFCavity ('CAV' ,0.15 ,main_cavity_voltage ,rf_frequency ,harmonic_number ,energy ),\
226- at .Marker ('CAV_MARKER' ),\
227- at .RFCavity ('CAV' ,0.15 ,main_cavity_voltage ,rf_frequency ,harmonic_number ,energy ),\
228- at .Drift ('DL_CAV' ,2.85 ),\
220+ at .Drift ('DLL1L4RP_2' ,2.8034 ),\
221+ at .RFCavity ('CAV' ,0.3 ,main_cavity_voltage ,rf_frequency ,harmonic_number ,energy ),\
222+ at .Drift ('DLL2L4RP_1' ,2.8034 ),\
229223 at .Monitor ('BPMZ5L4RP' ),\
224+ at .Drift ('DLL2L4RP_2' ,0.0466 ),\
230225 at .Sextupole ('S3M2L4RP' ,0.1 ,h = VS3 ,Corrector = 'HV' ,KickAngle = [0 ,0 ]),\
231- at .Drift ('D1 ' ,0.15 ),\
226+ at .Drift ('D1L4L4RP ' ,0.15 ),\
232227 at .Quadrupole ('Q3M2L4RP' ,0.2 ,k = VQ3L ),\
233- at .Drift ('D1 ' ,0.15 ),\
228+ at .Drift ('D1L5L4RP ' ,0.15 ),\
234229 at .Quadrupole ('Q2M2L4RP' ,0.2 ,k = VQ2L ),\
230+ at .Drift ('D3L3L4RP_1' ,0.054 ),\
235231 at .Monitor ('BPMZ6L4RP' ),\
236- at .Drift ('D3 ' ,0.425 ),\
232+ at .Drift ('D3L3L4RP_2 ' ,0.371 ),\
237233 at .Dipole ('BM2L4RP' ,dipole_length , bending_angle ,EntranceAngle = entrance_angle , ExitAngle = exit_angle ,FullGap = 0.025 * 2 ,FringeInt1 = 0.5 ,FringeInt2 = 0.5 ),\
238- at .Drift ('D3 ' ,0.425 ),\
234+ at .Drift ('D3L4L4RP ' ,0.425 ),\
239235 at .Sextupole ('S2M2L4RP' ,0.1 ,h = VS2 ,Corrector = 'V' ,KickAngle = [0 ,0 ]),\
236+ at .Drift ('D4L2L4RP_1' ,0.049 ),\
240237 at .Monitor ('BPMZ7L4RP' ),\
241- at .Drift ('D4 ' ,0.3 ),\
238+ at .Drift ('D4L2L4RP_2 ' ,0.251 ),\
242239 at .Sextupole ('S1M2L4RP' ,0.1 ,h = VS1 ,Skew = 'CQ' ),\
243- at .Drift ('D1 ' ,0.15 ),\
240+ at .Drift ('D1L6L4RP ' ,0.15 ),\
244241 at .Quadrupole ('Q1M2L4RP' ,0.2 ,k = VQ1 ),\
245- at .Drift ('D2 ' ,0.125 ),\
242+ at .Drift ('D2L2L4RP ' ,0.125 ),\
246243 at .Octupole ('OML4RP' , 0.1 , [0 ,0 ,0 ,0 ], [0 ,0 ,0 ,VO1 ]),\
247- at .Drift ('D2' ,0.125 ),\
248244 ]
249245
250246 second_half_of_K1 = [\
251- at .Quadrupole ( 'Q1M1K1RP ' ,0.2 , k = VQ1 ),\
247+ at .Drift ( 'D2L1K1RP_1 ' ,0.054 ),\
252248 at .Monitor ('BPMZ1K1RP' ),\
253- at .Drift ('D1' ,0.15 ),\
249+ at .Drift ('D2L1K1RP_2' ,0.071 ),\
250+ at .Quadrupole ('Q1M1K1RP' ,0.2 ,k = VQ1_SEP ),\
251+ at .Drift ('D1L1K1RP' ,0.15 ),\
254252 at .Sextupole ('S1M1K1RP' ,0.1 ,h = VS1 ,Corrector = 'H' ,KickAngle = [0 ,0 ]),\
255- at .Drift ('D4 ' ,0.3 ),\
253+ at .Drift ('D4L1K1RP ' ,0.3 ),\
256254 at .Sextupole ('S2M1K1RP' ,0.1 ,h = VS2 ,Corrector = 'V' ,KickAngle = [0 ,0 ]),\
255+ at .Drift ('D3L1K1RP_1' ,0.054 ),\
257256 at .Monitor ('BPMZ2K1RP' ),\
258- at .Drift ('D3 ' ,0.425 ),\
257+ at .Drift ('D3L1K1RP_2 ' ,0.371 ),\
259258 at .Dipole ('BM1K1RP' ,dipole_length , bending_angle ,EntranceAngle = entrance_angle , ExitAngle = exit_angle ,FullGap = 0.025 * 2 ,FringeInt1 = 0.5 ,FringeInt2 = 0.5 ),\
260- at .Drift ('D3' ,0.425 ),\
261- at .Quadrupole ('Q2M1K1RP' ,0.2 ,k = VQ2K ),\
259+ at .Drift ('D3L2K1RP_1' ,0.4122 ),\
262260 at .Monitor ('BPMZ3K1RP' ),\
263- at .Drift ('D1' ,0.15 ),\
261+ at .Drift ('D3L2K1RP_2' ,0.0128 ),\
262+ at .Quadrupole ('Q2M1K1RP' ,0.2 ,k = VQ2K ),\
263+ at .Drift ('D1L2K1RP' ,0.15 ),\
264264 at .Quadrupole ('Q3M1K1RP' ,0.2 ,k = VQ3K ),\
265- at .Drift ('D1 ' ,0.15 ),\
265+ at .Drift ('D1L3K1RP ' ,0.15 ),\
266266 at .Sextupole ('S3M1K1RP' ,0.1 ,h = VS3 , Corrector = 'HV' ,KickAngle = [0 ,0 ]),\
267+ at .Drift ('DKL1K1RP_1' ,0.0466 ),\
267268 at .Monitor ('BPMZ4K1RP' ),\
268- at .Drift ('DK ' ,1.25 ),\
269+ at .Drift ('DKL1K1RP_2 ' ,1.2034 ),\
269270 ]
270271
271- # Ring definition
272- ring = [first_half_of_K1 , L2 , K3 , L4 , second_half_of_K1 ]
272+ # ---- Ring definition ----
273+
274+ ring = [first_half_of_K1 , L2 , K3 , L4 , second_half_of_K1 ]
273275
274276 # Expand ring until list completely flattened
275277 while any (isinstance (x , list ) for x in ring ):
276278 ring = list (chain .from_iterable (i if isinstance (i , list ) else [i ] for i in ring ))
277279
278280 # Build the lattice
279- ring = at .Lattice (ring ,name = 'mls ' ,energy = energy ,periodicity = 1 )
281+ ring = at .Lattice (ring ,name = 'MLS ' ,energy = energy ,periodicity = 1 )
280282
281- # Turn cavity and radiation on
282- ring .enable_6d () # Should 6D be default?
283+ # Turn cavity and radiation on so 6D calculations is default
284+ ring .enable_6d ()
283285
284286 # Set main cavity phases
285287 ring .set_cavity_phase (cavpts = 'CAV' )
286288
287289 return ring
288290
289291if __name__ == '__main__' :
290- ring = mlsLattice ()
292+ ring = mlsLattice ()
0 commit comments