0001 function sp3v81f
0002
0003
0004
0005
0006
0007
0008
0009 global FAMLIST THERING GLOBVAL
0010
0011 GLOBVAL.E0 = 3e9;
0012 GLOBVAL.LatticeFile = 'sp3v81f';
0013 FAMLIST = cell(0);
0014
0015 disp(['** Loading SPEAR-III magnet lattice ', mfilename]);
0016 AP = aperture('AP', [-0.1, 0.1, -0.1, 0.1],'AperturePass');
0017
0018 L0 = 2.341440122400003e+002;
0019 C0 = 299792458;
0020 HarmNumber = 372;
0021 CAV = rfcavity('RF' , 0 , 3.2e+6 , HarmNumber*C0/L0, HarmNumber ,'ThinCavityPass');
0022
0023 COR = corrector('COR',0.15,[0 0],'CorrectorPass');
0024 BPM = marker('BPM','IdentityPass');
0025
0026
0027 DC2 = drift('DC2' ,0.097500,'DriftPass');
0028 DC5 = drift('DC5' ,0.200986,'DriftPass');
0029
0030
0031 K1 = corrector('KICKER',1.2,[0 0],'CorrectorPass');
0032 K2 = corrector('KICKER',0.6,[0 0],'CorrectorPass');
0033 K3 = corrector('KICKER',1.2,[0 0],'CorrectorPass');
0034
0035 DI1 = drift('DI1' ,0.9235741,'DriftPass');
0036 DI2 = drift('DI2' ,0.6882939,'DriftPass');
0037 DI3 = drift('DI3' ,0.6834939,'DriftPass');
0038 DI4 = drift('DI4' ,0.1224401,'DriftPass');
0039 DI5 = drift('DI5' ,1.2401300,'DriftPass');
0040 DI6 = drift('DI6' ,0.1658040,'DriftPass');
0041 INJ = marker('SEPTUM','IdentityPass');
0042
0043
0044 DC1A = drift('DC1A' ,1.40593400,'DriftPass');
0045 DC1B = drift('DC1B' ,0.12404125,'DriftPass');
0046 DC3A = drift('DC3A' ,0.05322065,'DriftPass');
0047 DC3B = drift('DC3B' ,0.16368247,'DriftPass');
0048 DC4A = drift('DC4A' ,0.15921467,'DriftPass');
0049 DC4B = drift('DC4B' ,0.04441800,'DriftPass');
0050 DC6A = drift('DC6A' ,0.11064600,'DriftPass');
0051 DC6B = drift('DC6B' ,0.06316585,'DriftPass');
0052
0053
0054 DC2A = drift('DC2A' ,0.11576525,'DriftPass');
0055 DC2B = drift('DC2B' ,0.11581045,'DriftPass');
0056 DC2C = drift('DC2C' ,0.10210045,'DriftPass');
0057 DC2D = drift('DC2D' ,0.12947525,'DriftPass');
0058 DC5A = drift('DC5A' ,0.09058000,'DriftPass');
0059 DC5B = drift('DC5B' ,0.36139000,'DriftPass');
0060 DC5C = drift('DC5C' ,0.09584000,'DriftPass');
0061 DC5D = drift('DC5D' ,0.35613000,'DriftPass');
0062
0063
0064 BEND = rbend('BEND' , 1.5048, ...
0065 0.18479957, 0.18479957/2, 0.18479957/2,...
0066 -0.31537858,'BendLinearPass');
0067
0068
0069 QF = quadrupole('QF' , 0.3533895, 1.768672904054, 'QuadLinearPass');
0070 QD = quadrupole('QD' , 0.1634591,-1.542474230359, 'QuadLinearPass');
0071 QFC = quadrupole('QFC', 0.5123803, 1.748640831069, 'QuadLinearPass');
0072
0073
0074 SF = sextupole('SF' , 0.21, 32.0477093/2,'StrMPoleSymplectic4Pass');
0075 SD = sextupole('SD' , 0.25,-38.80153/2, 'StrMPoleSymplectic4Pass');
0076
0077
0078 HCEL1 = [DC1A BPM DC1B QF DC2A COR DC2B QD DC3A BPM DC3B BEND DC4A BPM DC4B SD...
0079 DC5A COR DC5B SF DC6A BPM DC6B QFC];
0080
0081 HCEL2 = [DC6B DC6A SF DC5C COR DC5D...
0082 SD DC4B BPM DC4A BEND DC3B DC3A QD DC2C COR DC2D QF DC1B BPM DC1A];
0083 ACEL = [AP HCEL1 HCEL2];
0084
0085
0086 K1CEL2 = [DC6B DC6A SF DC5C COR DC5D...
0087 SD DC4B BPM DC4A BEND DC3B DC3A QD DC2C COR DC2D QF DC1B BPM DI1];
0088 CEL2 = [AP HCEL1 K1CEL2];
0089
0090
0091 K1CEL3 = [K1 DI2 BPM DC1B QF DC2A COR DC2B QD DC3A BPM DC3B BEND DC4A BPM DC4B SD...
0092 DC5A COR DC5B SF DC6A BPM DC6B QFC];
0093
0094 K2CEL3 = [DC6B DC6A SF DC5C COR DC5D...
0095 SD DC4B BPM DC4A BEND DC3B DC3A QD DC2C COR DC2D QF DC1B BPM DI3 K2 DI4];
0096 CEL3 = [AP K1CEL3 K2CEL3];
0097
0098
0099 SEPCEL4 = [DI5 INJ DI6 BPM DC1B QF DC2A COR DC2B QD DC3A BPM DC3B BEND DC4A BPM DC4B SD...
0100 DC5A COR DC5B SF DC6A BPM DC6B QFC];
0101
0102 K3CEL4 = [DC6B DC6A SF DC5C COR DC5D...
0103 SD DC4B BPM DC4A BEND DC3B DC3A QD DC2C COR DC2D QF DC1B BPM DI2 K3];
0104
0105 CEL4 = [AP SEPCEL4 K3CEL4];
0106
0107
0108 K3CEL5 = [DI1 BPM DC1B QF DC2A COR DC2B QD DC3A BPM DC3B BEND DC4A BPM DC4B SD...
0109 DC5A COR DC5B SF DC6A BPM DC6B QFC];
0110 CEL5 = [AP K3CEL5 HCEL2];
0111
0112
0113
0114 DM1 = drift('DM1' ,3.81000000,'DriftPass');
0115 DM2 = drift('DM2' ,0.09750000,'DriftPass');
0116 DM3 = drift('DM3' ,0.27500000,'DriftPass');
0117 DM4 = drift('DM4' ,0.21584572,'DriftPass');
0118 DM5 = drift('DM5' ,0.25000000,'DriftPass');
0119 DM6 = drift('DM6' ,0.49068463,'DriftPass');
0120 DM7 = drift('DM7' ,0.17380985,'DriftPass');
0121 DM8 = drift('DM8' ,0.50000000,'DriftPass');
0122 DM9 = drift('DM9' ,0.10500000,'DriftPass');
0123 DM10 = drift('DM10',3.27657140,'DriftPass');
0124
0125
0126 DA1A = drift('DA1A' ,3.6792386,'DriftPass');
0127 DA1B = drift('DA1B' ,0.12406665,'DriftPass');
0128
0129 DA3A = drift('DA3A' ,0.20889925,'DriftPass');
0130 DA3B = drift('DA3B' ,0.05414045,'DriftPass');
0131
0132 DA5A = drift('DA5A' ,0.11397747,'DriftPass');
0133 DA5B = drift('DA5B' ,0.108563 ,'DriftPass');
0134 DA5C = drift('DA5C' ,0.051845 ,'DriftPass');
0135 DA5D = drift('DA5D' ,0.17069547,'DriftPass');
0136
0137 DA7A = drift('DA7A' ,0.1106966,'DriftPass');
0138 DA7B = drift('DA7B' ,0.06311325,'DriftPass');
0139
0140 DA8A = drift('DA8A' ,0.33735947,'DriftPass');
0141 DA8B = drift('DA8B' ,0.12848625,'DriftPass');
0142
0143 DA10A = drift('DA10A',0.12393965,'DriftPass');
0144 DA10B = drift('DA10B',3.145937 ,'DriftPass');
0145
0146
0147 DA2A = drift('DA2A' ,0.1153052500000,'DriftPass');
0148 DA2B = drift('DA2B' ,0.1177344500000,'DriftPass');
0149 DA6A = drift('DA6A' ,0.12660000000000,'DriftPass');
0150
0151 DA6B = drift('DA6B' ,0.90476828000000,'DriftPass');
0152 DA6C = drift('DA6C' ,0.09600000000000,'DriftPass');
0153 DA6D = drift('DA6D' ,0.93537000000000,'DriftPass');
0154 DA9A = drift('DA9A' ,0.109305250000000000,'DriftPass');
0155 DA9B = drift('DA9B' ,0.13730525000000000,'DriftPass');
0156
0157
0158 DB1A = drift('DB1A' ,3.747082 ,'DriftPass');
0159 DB1B = drift('DB1B' ,0.05622325 ,'DriftPass');
0160 DB3A = drift('DB3A' ,0.13222685,'DriftPass');
0161 DB3B = drift('DB3B' ,0.13081285,'DriftPass');
0162 DB5A = drift('DB5A' ,0.17069547,'DriftPass');
0163 DB5B = drift('DB5B' ,0.051845 ,'DriftPass');
0164 DB5C = drift('DB5C' ,0.1085632,'DriftPass');
0165 DB5D = drift('DB5D' ,0.11397727,'DriftPass');
0166 DB7A = drift('DB7A' ,0.06311305,'DriftPass');
0167 DB7B = drift('DB7B' ,0.1106968,'DriftPass');
0168 DB8A = drift('DB8A' ,0.32725027,'DriftPass');
0169 DB8B = drift('DB8B' ,0.13859545,'DriftPass');
0170 DB10A = drift('DB10A',0.12404125 ,'DriftPass');
0171 DB10B = drift('DB10B',3.1458354,'DriftPass');
0172
0173
0174 DB2A = drift('DB2A' ,0.1158052500,'DriftPass');
0175 DB2B = drift('DB2B' ,0.1172344500,'DriftPass');
0176 DB6A = drift('DB6A' ,0.937370,'DriftPass');
0177 DB6B = drift('DB6B' ,0.09399852000000,'DriftPass');
0178 DB6C = drift('DB6C' ,0.90437000000000,'DriftPass');
0179 DB6D = drift('DB6D' ,0.12700000000000,'DriftPass');
0180 DB9A = drift('DB9A' ,0.12330525000000,'DriftPass');
0181 DB9B = drift('DB9B' ,0.12330525000000,'DriftPass');
0182
0183
0184 BDM = rbend('BDM' , 1.14329, ...
0185 0.138599675894, 0.138599675894/2, 0.138599675894/2,...
0186 -0.31537858,'BendLinearPass');
0187
0188
0189 QDX = quadrupole('QDX' ,0.3533895,-1.386467245226 , 'QuadLinearPass');
0190 QFX = quadrupole('QFX' ,0.6105311,1.573196278394, 'QuadLinearPass');
0191 QDY = quadrupole('QDY' ,0.3533895,-0.460640930646 , 'QuadLinearPass');
0192 QFY = quadrupole('QFY' ,0.5123803, 1.481493709831 , 'QuadLinearPass');
0193 QDZ = quadrupole('QDZ' ,0.3533895,-0.878223937747 , 'QuadLinearPass');
0194 QFZ = quadrupole('QFZ' ,0.3533895, 1.427902006984 , 'QuadLinearPass');
0195
0196
0197 SDM = sextupole('SDM' , 0.21,-8.5,'StrMPoleSymplectic4Pass');
0198 SFM = sextupole('SFM' , 0.21, 7.5,'StrMPoleSymplectic4Pass');
0199
0200
0201
0202
0203 MCA=[DA1A BPM DA1B QDX DA2A COR DA2B ...
0204 QFX DA3A BPM DA3B QDY DM4 BDM DA5A BPM DA5B SDM DA6A COR DA6B SFM DA7A BPM DA7B QFY ...
0205 DM7 SFM DA6C COR DA6D SDM DA5C BPM DA5D BDM...
0206 DA8A BPM DA8B QDZ DA9A COR DA9B QFZ DA10A BPM DA10B];
0207
0208
0209 MCB=[DB1A BPM DB1B QDX DB2A COR DB2B ...
0210 QFX DB3A BPM DB3B QDY DM4 BDM DB5A BPM DB5B SDM DB6A COR DB6B SFM DM7 QFY DB7A BPM...
0211 DB7B SFM DB6C COR DB6D SDM DB5C BPM DB5D BDM...
0212 DB8A BPM DB8B QDZ DB9A COR DB9B QFZ DB10A BPM DB10B];
0213
0214
0215 NORTH = [CEL2 CEL3 CEL4 CEL5 ACEL ACEL ACEL];
0216 SOUTH = [ACEL ACEL ACEL ACEL ACEL ACEL ACEL];
0217
0218 ELIST = [CAV MCA NORTH reverse(MCB) MCA SOUTH reverse(MCB) ];
0219 buildlat(ELIST);
0220
0221
0222 evalin('caller','global THERING FAMLIST GLOBVAL');
0223
0224 disp('** Finished loading lattice in Accelerator Toolbox');