Home > ALS > StorageRing > alslat_loco_3sb_disp_nuy9_122bpms_splitdipole.m

alslat_loco_3sb_disp_nuy9_122bpms_splitdipole

PURPOSE ^

Lattice definition file

SYNOPSIS ^

function varargout = alslat_loco_3sb_disp_nuy9_122bpms_splitdipole(varargin)

DESCRIPTION ^

 Lattice definition file
 Compiled by Christoph Steier from the ALS TRACY
 lattice file of Nishimura/Robin/Steier 04/20/2000

 ALS production lattice with Superbends, quadrupole families, one bend family,
 two sextupole families, BPMs as markers,
 eta_x(straight sections) = 6cm.

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function varargout = alslat_loco_3sb_disp_nuy9_122bpms_splitdipole(varargin)
0002 % Lattice definition file
0003 % Compiled by Christoph Steier from the ALS TRACY
0004 % lattice file of Nishimura/Robin/Steier 04/20/2000
0005 %
0006 % ALS production lattice with Superbends, quadrupole families, one bend family,
0007 % two sextupole families, BPMs as markers,
0008 % eta_x(straight sections) = 6cm.
0009 
0010 global FAMLIST THERING GLOBVAL
0011 
0012 Energy = 1.89086196873342e9;
0013 GLOBVAL.E0 = Energy;
0014 GLOBVAL.LatticeFile = 'alslat_loco_3sb_disp_nuy9_122bpms_splitdipole';
0015 FAMLIST = cell(0);
0016 
0017 fprintf('   Loading ALS lattice in %s\n', mfilename);
0018 
0019 
0020 % I'm not sure why I need this line here (GJP)
0021 %AP = aperture('AP',  [-0.1, 0.1, -0.1, 0.1], 'AperturePass');
0022 
0023 
0024 L0 = 196.8054150;     % design length [m]
0025 C0 = 299792458;       % speed of light [m/s]
0026 
0027 
0028 % RF SYSTEM
0029 HarmNumber = 328;
0030 V = version;
0031 if str2num(V(1,1)) < 7 & strncmp(computer, 'GLNX', 4)
0032     % Older AT version
0033     CAV   = rfcavity('CAV1' , 0 , 1.2e+6 , HarmNumber*C0/L0, HarmNumber ,'ThinCavityPass');
0034 else
0035     % New AT version
0036     %CAV   = rfcavity('CAV1' , 0 , 1.5e+6 , HarmNumber*C0/L0, HarmNumber ,'CavityPass');
0037     CAV   = rfcavity('CAV1' , 0 , 1.2e+6 , HarmNumber*C0/L0, HarmNumber ,'CavityPass');
0038 end
0039 
0040 
0041 % QUADRUPOLES
0042 QF    =  quadrupole('QF'  , 0.344,  2.237111, 'StrMPoleSymplectic4RadPass');
0043 QD    =  quadrupole('QD'  , 0.187, -2.511045, 'StrMPoleSymplectic4RadPass');
0044 QFA   =  quadrupole('QFA' , 0.448,  2.954352, 'StrMPoleSymplectic4RadPass');
0045 QDA   =  quadrupole('QDA' , 0.187, -1.779475, 'StrMPoleSymplectic4RadPass');
0046 
0047 
0048 % SEXTUPOLES for xix=0.4 and xi_y=1.4
0049 % -52.246310 74.801936 w/o sextu in superbend
0050 % -52.03     75.05     w/  sextu in superbend
0051 SDD   =  sextupole('SDD', 0.2030/2, -52.0333, 'StrMPoleSymplectic4RadPass');
0052 SFF   =  sextupole('SFF', 0.2030/2,  75.0479, 'StrMPoleSymplectic4RadPass');
0053 
0054 
0055 % DIPOLES (COMBINED FUNCTION)
0056 % K1= -0.7782 for 5 degrees instead of -0.81 for 3 degrees entrance/exit angle
0057 % BEND = rbend('BEND', 0.86514, 0.1745329, 0.0872664, 0.0872664, -0.7782,'BndMPoleSymplectic4RadPass');
0058 % B1a  = rbend('B1a',  6.3/10*0.86514, 6.3/10*0.1745329, 0.0872664, 0.0,       -0.7782,'BndMPoleSymplectic4RadPass');
0059 % B1b  = rbend('B1b',  3.7/10*0.86514, 3.7/10*0.1745329, 0.0,       0.0872664, -0.7782,'BndMPoleSymplectic4RadPass');
0060 % B2a  = rbend('B2a',  2.6/10*0.86514, 2.6/10*0.1745329, 0.0872664, 0.0,       -0.7782,'BndMPoleSymplectic4RadPass');
0061 % B2b  = rbend('B2b',  4.8/10*0.86514, 4.8/10*0.1745329, 0.0,       0.0,       -0.7782,'BndMPoleSymplectic4RadPass');
0062 % B2c  = rbend('B2c',  2.6/10*0.86514, 2.6/10*0.1745329, 0.0,       0.0872664, -0.7782,'BndMPoleSymplectic4RadPass');
0063 % B3a  = rbend('B3a',  2.6/10*0.86514, 2.6/10*0.1745329, 0.0872664, 0.0,       -0.7782,'BndMPoleSymplectic4RadPass');
0064 % B3b  = rbend('B3b',  7.4/10*0.86514, 7.4/10*0.1745329, 0.0,       0.0872664, -0.7782,'BndMPoleSymplectic4RadPass');
0065 
0066 B1a  = rbend('BEND', 6.3/10*0.86514, 6.3/10*0.1745329, 0.0872664, 0.0,       -0.7782,'BndMPoleSymplectic4RadPass');
0067 B1b  = rbend('BEND', 3.7/10*0.86514, 3.7/10*0.1745329, 0.0,       0.0872664, -0.7782,'BndMPoleSymplectic4RadPass');
0068 B2a  = rbend('BEND', 2.6/10*0.86514, 2.6/10*0.1745329, 0.0872664, 0.0,       -0.7782,'BndMPoleSymplectic4RadPass');
0069 B2b  = rbend('BEND', 4.8/10*0.86514, 4.8/10*0.1745329, 0.0,       0.0,       -0.7782,'BndMPoleSymplectic4RadPass');
0070 B2c  = rbend('BEND', 2.6/10*0.86514, 2.6/10*0.1745329, 0.0,       0.0872664, -0.7782,'BndMPoleSymplectic4RadPass');
0071 B3a  = rbend('BEND', 2.6/10*0.86514, 2.6/10*0.1745329, 0.0872664, 0.0,       -0.7782,'BndMPoleSymplectic4RadPass');
0072 B3b  = rbend('BEND', 7.4/10*0.86514, 7.4/10*0.1745329, 0.0,       0.0872664, -0.7782,'BndMPoleSymplectic4RadPass');
0073 
0074 
0075 % Super bend L=255 mm for SBM1 and 254 mm for SBM3 and 4 (cf. field clamps)
0076 %BS  =  rbend('BS', 0.255, 0.1745329, 0.0872665, 0.0872665, 0,'BndMPoleSymplectic4RadPass');
0077 BSa =  rbend('BS', 2.6/10*0.255, 2.6/10*0.1745329, 0.0872665, 0.0,       0,'BndMPoleSymplectic4RadPass');
0078 BSb =  rbend('BS', 4.8/10*0.255, 4.8/10*0.1745329, 0.0,       0.0,       0,'BndMPoleSymplectic4RadPass');
0079 BSc =  rbend('BS', 2.6/10*0.255, 2.6/10*0.1745329, 0.0,       0.0872665, 0,'BndMPoleSymplectic4RadPass');
0080 
0081 
0082 % CORRECTORS and BPMS
0083 FASTKICKER =  corrector('FASTKICKER',0.0,[0 0],'CorrectorPass');
0084 COR =  corrector('COR',0.0,[0 0],'CorrectorPass');
0085 CHIC = corrector('CHICANE',0.0,[0 0],'CorrectorPass');
0086 BPM =  marker('BPM','IdentityPass');
0087 IDBPM =  marker('BPM','IdentityPass');
0088 BBPM = marker('BPM','IdentityPass');
0089 
0090 
0091 % MARKERS and APERTURES
0092 SECT1 =  marker('SECT1', 'IdentityPass');
0093 SECT2 =  marker('SECT2', 'IdentityPass');
0094 SECT3 =  marker('SECT3', 'IdentityPass');
0095 SECT4 =  marker('SECT4', 'IdentityPass');
0096 SECT5 =  marker('SECT5', 'IdentityPass');
0097 SECT6 =  marker('SECT6', 'IdentityPass');
0098 SECT7 =  marker('SECT7', 'IdentityPass');
0099 SECT8 =  marker('SECT8', 'IdentityPass');
0100 SECT9 =  marker('SECT9', 'IdentityPass');
0101 SECT10 =  marker('SECT10', 'IdentityPass');
0102 SECT11 =  marker('SECT11', 'IdentityPass');
0103 SECT12 =  marker('SECT12', 'IdentityPass');
0104 BL31 =  marker('BL31', 'IdentityPass');
0105 FIN =  marker('FIN', 'IdentityPass');
0106 pos31 =  marker('pos31', 'IdentityPass');
0107 posScrapH =  marker('posScrapH', 'IdentityPass');
0108 posScrapB =  marker('posScrapB', 'IdentityPass');
0109 posScrapT =  marker('posScrapT', 'IdentityPass');
0110 INJ = aperture('INJ',[-0.03 0.03 -0.004 0.004],'AperturePass');
0111 
0112 
0113 
0114 % DRIFT SPACES [meters]
0115 CM2CL = 2.8326955;
0116 L1  = drift('L1',   CM2CL,        'DriftPass');
0117 
0118 
0119 % Straight 1
0120 % L27 L1
0121 
0122 
0123 % Straight 2
0124 % COR L27e1 IDBPM L27f1 L1e2 IDBPM L1f2 COR
0125 L27e1 = drift('L27e1', CM2CL-2.4142, 'DriftPass');
0126 L27f1 = drift('L27f1',       2.4142, 'DriftPass');       %L27f1 = drift('L27f1',  2.4142+.000451, 'DriftPass');
0127 %L1e2  = drift('L1e2',       2.5982, 'DriftPass');       %L1e2  = drift('L1e2',   2.5982-.000451, 'DriftPass');
0128 L1e2u  = drift('L1e2u',      2.5982-1, 'DriftPass');       %L1e2  = drift('L1e2',   2.5982-.000451, 'DriftPass');
0129 L1e2d  = drift('L1e2d',      1       , 'DriftPass');       %L1e2  = drift('L1e2',   2.5982-.000451, 'DriftPass');
0130 L1f2  = drift('L1f2',  CM2CL-2.5982, 'DriftPass');
0131 
0132 
0133 % Straight 3
0134 % COR L27 L1 COR L2 BPM L3 QF L4 COR L5 QD  ...
0135 
0136 %  Scraper Half-Straight
0137 %L27a = drift('L27a',  0.8596, 'DriftPass');
0138 %L27b = drift('L27b',  0.1524, 'DriftPass');
0139 %L27c = drift('L27c',  0.04445, 'DriftPass');
0140 %L27d = drift('L27d',  1.776246, 'DriftPass');
0141 %L27s = [L27a posScrapH L27b posScrapB L27c posScrapT L27d];
0142 
0143 
0144 % Straight 4
0145 % Note: base lattice is made without the chicanes on
0146 % COR L27s4a CHIC L27s4b IDBPM L27s4c L1s4a IDBPM L1s4b CHIC COR L1s4c IDBPM L1s4d IDBPM L1s4e CHIC L1s4f COR
0147 ID4CL2Chicane1 = 2.44006 - .13269;
0148 ID4CL2Chicane2 = .13269;
0149 ID4CL2Chicane3 = 2.38557 + .13269;
0150 ID4CL2IDBPM1 = 2.34504*cos(1.25e-3) - .13269;
0151 ID4CL2IDBPM3 = .13269 - .095*cos(1.25e-3);
0152 ID4CL2IDBPM4 = .13269 + .095*cos(1.25e-3);
0153 ID4CL2IDBPM2 =  2.29056*cos(1.25e-3) + .13269;
0154 
0155 L27s4a = drift('L27s4a', CM2CL - ID4CL2Chicane1,        'DriftPass');
0156 L27s4b = drift('L27s4b', ID4CL2Chicane1 - ID4CL2IDBPM1, 'DriftPass');
0157 L27s4c = drift('L27s4c', ID4CL2IDBPM1,                  'DriftPass');
0158 L1s4a  = drift('L1s4a',  ID4CL2IDBPM3,                  'DriftPass');
0159 L1s4b  = drift('L1s4b',  ID4CL2Chicane2-ID4CL2IDBPM3,   'DriftPass');
0160 L1s4c  = drift('L1s4c',  ID4CL2IDBPM4-ID4CL2Chicane2,   'DriftPass'); 
0161 L1s4d  = drift('L1s4d',  ID4CL2IDBPM2-ID4CL2IDBPM4,     'DriftPass');
0162 L1s4e  = drift('L1s4e',  ID4CL2Chicane3-ID4CL2IDBPM2,   'DriftPass');
0163 L1s4f  = drift('L1s4f',  CM2CL - ID4CL2Chicane3,        'DriftPass');
0164 
0165 
0166 % Straight 5
0167 L27e4 = drift('L27e4', CM2CL-2.3912, 'DriftPass');
0168 L27f4 = drift('L27f4',       2.3912, 'DriftPass');
0169 L1e5  = drift('L1e5',        2.6032, 'DriftPass');
0170 L1f5  = drift('L1f5',  CM2CL-2.6032, 'DriftPass');
0171 
0172 
0173 % Straight 6
0174 % Note: base lattice is made without the chicanes on
0175 % COR L27s6a CHIC L27s6b IDBPM L27s6c L1s6a IDBPM L1s6b CHIC COR L1s6c IDBPM L1s6d IDBPM L1s6e COR
0176 ID6CL2Chicane1 = 2.44006 - .13268;
0177 ID6CL2Chicane2 = .13268;
0178 ID6CL2IDBPM1 = 2.34504*cos(1.13e-3) - .13268;
0179 ID6CL2IDBPM3 = .13268 - .103*cos(1.13e-3);
0180 ID6CL2IDBPM4 = .13268 + .103*cos(1.13e-3);
0181 ID6CL2IDBPM2 =  2.29056*cos(1.13e-3) + .13268;
0182 
0183 L27s6a = drift('L27s6a', CM2CL - ID6CL2Chicane1,        'DriftPass');
0184 L27s6b = drift('L27s6b', ID6CL2Chicane1 - ID6CL2IDBPM1, 'DriftPass');
0185 L27s6c = drift('L27s6c', ID6CL2IDBPM1,                  'DriftPass');
0186 L1s6a  = drift('L1s6a',  ID6CL2IDBPM3,                  'DriftPass');
0187 L1s6b  = drift('L1s6b',  ID6CL2Chicane2-ID6CL2IDBPM3,   'DriftPass');
0188 L1s6c  = drift('L1s6c',  ID6CL2IDBPM4-ID6CL2Chicane2,   'DriftPass'); 
0189 L1s6d  = drift('L1s6d',  ID6CL2IDBPM2-ID6CL2IDBPM4,     'DriftPass');
0190 L1s6e  = drift('L1s6e',  CM2CL-ID6CL2IDBPM2,            'DriftPass');
0191 
0192 
0193 % Straight 7
0194 % COR L27e6 IDBPM L27f6 L1e7 IDBPM L1f7 COR
0195 L27e6 = drift('L27e6', CM2CL-2.3932, 'DriftPass');
0196 L27f6 = drift('L27f6',       2.3932, 'DriftPass');
0197 L1e7  = drift('L1e7',        2.6012, 'DriftPass');
0198 L1f7  = drift('L1f7',  CM2CL-2.6012, 'DriftPass');
0199 
0200 
0201 % Straight 8
0202 L27e7 = drift('L27e7', CM2CL-2.3907, 'DriftPass');
0203 L27f7 = drift('L27f7',       2.3907, 'DriftPass');
0204 L1e8  = drift('L1e8',        2.5972, 'DriftPass');
0205 L1f8  = drift('L1f8',  CM2CL-2.5972, 'DriftPass');
0206 
0207 
0208 % Straight 9
0209 L27e8 = drift('L27e8', CM2CL-2.3912, 'DriftPass');
0210 L27f8 = drift('L27f8',       2.3912, 'DriftPass');
0211 L1e9  = drift('L1e9',        2.5992, 'DriftPass');
0212 L1f9  = drift('L1f9',  CM2CL-2.5992, 'DriftPass');
0213 
0214 
0215 % Straight 10
0216 % COR L27e9 IDBPM L27f9 L1e10 IDBPM L1f10 COR
0217 L27e9 = drift('L27e9', CM2CL-2.3902, 'DriftPass');
0218 L27f9 = drift('L27f9',       2.3902, 'DriftPass');
0219 L1e10 = drift('L1e10',       2.5982, 'DriftPass');
0220 L1f10 = drift('L1f10', CM2CL-2.5982, 'DriftPass');
0221 
0222 
0223 % Straight 11
0224 % Note: base lattice is made without the chicanes on
0225 % COR L27s11a IDBPM L27s11c L1s11a IDBPM L1s11b CHIC COR L1s11c IDBPM L1s11d IDBPM L1s11e  COR
0226 ID11CL2Chicane2 = .13268;
0227 ID11CL2IDBPM1 = 2.34504*cos(1.13e-3) - .13268;
0228 ID11CL2IDBPM3 = .13268 - .095*cos(1.13e-3);
0229 ID11CL2IDBPM4 = .13268 + .095*cos(1.13e-3);
0230 ID11CL2IDBPM2 =  2.29056*cos(1.13e-3) + .13268;
0231 
0232 L27s11a = drift('L27s11a', CM2CL - ID11CL2IDBPM1,         'DriftPass');
0233 L27s11c = drift('L27s11c', ID11CL2IDBPM1,                 'DriftPass');
0234 L1s11a  = drift('L1s11a',  ID11CL2IDBPM3,                 'DriftPass');
0235 L1s11b  = drift('L1s11b',  ID11CL2Chicane2-ID11CL2IDBPM3, 'DriftPass');
0236 L1s11c  = drift('L1s11c',  ID11CL2IDBPM4-ID11CL2Chicane2, 'DriftPass'); 
0237 L1s11d  = drift('L1s11d',  ID11CL2IDBPM2-ID11CL2IDBPM4,   'DriftPass');
0238 L1s11e  = drift('L1s11e',  CM2CL-ID11CL2IDBPM2,           'DriftPass');
0239 
0240 
0241 % Straight 12
0242 L27e11 = drift('L27e11', CM2CL-2.3902, 'DriftPass');
0243 L27f11 = drift('L27f11',       2.3902, 'DriftPass');
0244 L1e12  = drift('L1e12',        2.6012, 'DriftPass');
0245 L1f12  = drift('L1f12',  CM2CL-2.6012, 'DriftPass');
0246 
0247 
0248 % Arc sector lengths
0249 L2  = drift('L2',   0.45698,   'DriftPass');
0250 L3  = drift('L3',   0.08902,   'DriftPass');
0251 L4  = drift('L4',   0.2155,    'DriftPass');
0252 L5  = drift('L5',   0.219,     'DriftPass');
0253 L6  = drift('L6',   0.107078,  'DriftPass');
0254 L7  = drift('L7',   0.105716,  'DriftPass');
0255 L8  = drift('L8',   0.135904,  'DriftPass');
0256 L9  = drift('L9',   0.2156993, 'DriftPass');
0257 L10 = drift('L10',  0.089084,  'DriftPass');
0258 L11 = drift('L11',  0.235416,  'DriftPass');
0259 L12 = drift('L12',  0.1245,    'DriftPass');
0260 L13 = drift('L13',  0.511844,  'DriftPass');
0261 L14 = drift('L14',  0.1788541, 'DriftPass');
0262 L15 = drift('L15',  0.1788483, 'DriftPass');
0263 L16 = drift('L16',  0.511849,  'DriftPass');
0264 L17 = drift('L17',  0.1245,    'DriftPass');
0265 L18 = drift('L18',  0.235405,  'DriftPass');
0266 L19 = drift('L19',  0.089095,  'DriftPass');
0267 L20 = drift('L20',  0.2157007, 'DriftPass');
0268 L21 = drift('L21',  0.177716,  'DriftPass');
0269 L22 = drift('L22',  0.170981,  'DriftPass');
0270 L23 = drift('L23',  0.218997,  'DriftPass');
0271 L24 = drift('L24',  0.215503,  'DriftPass');
0272 L25 = drift('L25',  0.0890187, 'DriftPass');
0273 L26 = drift('L26',  0.45698,   'DriftPass');
0274 L27 = drift('L27',  CM2CL,     'DriftPass');
0275 
0276 
0277 DS = drift('DS', 0.1015, 'DriftPass');
0278 LS1 = drift('LS1', 0.23, 'DriftPass');
0279 %  LS1 = drift('LS1', 0.229768, 'DriftPass');
0280 LS2 = drift('LS2', 0.095076, 'DriftPass');
0281 LS3 = drift('LS3', 0.484594, 'DriftPass');
0282 LS4 = drift('LS4', 0.484594, 'DriftPass');
0283 LS5 = drift('LS5', 0.095076, 'DriftPass');
0284 
0285 
0286 
0287 % Begin Lattice
0288 
0289 %  Superperiods
0290 SUP1  = [  L1 L2 BPM L3 QF L4 COR L5 QD  ...
0291     L6 BPM L7 L8 B1a B1b L9 SDD COR SDD L10 ...
0292     BPM L11 QFA L12  SFF COR SFF L13 BBPM  ...
0293     L14 B2a B2b B2c L15 BBPM L16  SFF COR SFF  L17  ...
0294     QFA L18 BPM L19  SDD COR SDD L20 B3a B3b L21 ...
0295     BPM L22 QD L23 COR L24 QF L25  ...
0296     BPM L26  COR L27e1 IDBPM L27f1];
0297 SUP2  = [  L1e2u FASTKICKER L1e2d IDBPM L1f2 COR L2 BPM L3 QF L4 COR L5 QD  ...
0298     L6 BPM L7 L8 B1a B1b L9 SDD COR SDD L10 ...
0299     BPM L11 QFA L12  SFF COR SFF L13 BBPM  ...
0300     L14 B2a B2b B2c L15 BBPM L16  SFF COR SFF  L17  ...
0301     QFA L18 BPM L19  SDD COR SDD L20 B3a B3b L21 ...
0302     BPM L22 QD L23 COR L24 QF L25  ...
0303     BPM L26  COR L27];
0304 SUP3  = [  L1 COR L2 BPM L3 QF L4 COR L5 QD  ...
0305     L6 BPM L7 L8 B1a B1b L9 SDD COR SDD L10 ...
0306     BPM L11 QFA L12  SFF COR SFF L13 BBPM  ...
0307     L14 B2a B2b B2c L15 BBPM L16  SFF COR SFF  L17  ...
0308     QFA L18 BPM L19  SDD COR SDD L20 B3a B3b L21 ...
0309     BPM L22 QD L23 COR L24 QF L25  ...
0310     BPM L26 COR L27s4a CHIC L27s4b IDBPM L27s4c ];
0311 SUP4  = [L1s4a IDBPM L1s4b CHIC COR L1s4c IDBPM L1s4d IDBPM L1s4e CHIC L1s4f COR L2 BPM L3 QF L4 COR L5 QD  ...
0312     L6 BPM L7 L8 B1a B1b L9 SDD COR SDD L10 ...
0313     BPM L11 QFA L12  SFF COR SFF LS1 QDA LS2 BBPM  ...
0314     LS3 BSa BSb BSc LS3 BBPM LS2 QDA LS1  SFF COR SFF  L17  ...
0315     QFA L18 BPM L19  SDD COR SDD L20 B3a B3b L21 ...
0316     BPM L22 QD L23 COR L24 QF L25  ...
0317     BPM L26 COR L27e4 IDBPM L27f4];
0318 SUP5  = [  L1e5 IDBPM L1f5 COR L2 BPM L3 QF L4 COR L5 QD  ...
0319     L6 BPM L7 L8 B1a B1b L9 SDD COR SDD L10 ...
0320     BPM L11 QFA L12  SFF COR SFF L13 BBPM  ...
0321     L14 B2a B2b B2c L15 BBPM L16  SFF COR SFF  L17  ...
0322     QFA L18 BPM L19  SDD COR SDD L20 B3a B3b L21 ...
0323     BPM L22 QD L23 COR L24 QF L25  ...
0324     BPM L26 COR L27s6a CHIC L27s6b IDBPM L27s6c ];
0325 SUP6  = [L1s6a IDBPM L1s6b CHIC COR L1s6c IDBPM L1s6d IDBPM L1s6e COR L2 BPM L3 QF L4 COR L5 QD  ...
0326     L6 BPM L7 L8 B1a B1b L9 SDD COR SDD L10 ...
0327     BPM L11 QFA L12  SFF COR SFF L13 BBPM  ...
0328     L14 B2a B2b B2c L15 BBPM L16  SFF COR SFF  L17  ...
0329     QFA L18 BPM L19  SDD COR SDD L20 B3a B3b L21 ...
0330     BPM L22 QD L23 COR L24 QF L25  ...
0331     BPM L26  COR L27e6 IDBPM L27f6];
0332 SUP7  = [  L1e7 IDBPM L1f7 COR L2 BPM L3 QF L4 COR L5 QD  ...
0333     L6 BPM L7 L8 B1a B1b L9 SDD COR SDD L10 ...
0334     BPM L11 QFA L12  SFF COR SFF L13 BBPM  ...
0335     L14 B2a B2b B2c L15 BBPM L16  SFF COR SFF  L17  ...
0336     QFA L18 BPM L19  SDD COR SDD L20 B3a B3b L21 ...
0337     BPM L22 QD L23 COR L24 QF L25  ...
0338     BPM L26  COR L27e7 IDBPM L27f7];
0339 SUP8  = [  L1e8 IDBPM L1f8 COR L2 BPM L3 QF L4 COR L5 QD  ...
0340     L6 BPM L7 L8 B1a B1b L9 SDD COR SDD L10 ...
0341     BPM L11 QFA L12  SFF COR SFF LS1 QDA LS2 BBPM  ...
0342     LS3 BSa BSb BSc LS3 BBPM LS2 QDA LS1  SFF COR SFF  L17  ...
0343     QFA L18 BPM L19  SDD COR SDD L20 B3a B3b L21 ...
0344     BPM L22 QD L23 COR L24 QF L25  ...
0345     BPM L26 COR L27e8 IDBPM L27f8 ];
0346 SUP9  = [  L1e9 IDBPM L1f9 COR L2 BPM L3 QF L4 COR L5 QD  ...
0347     L6 BPM L7 L8 B1a B1b L9 SDD COR SDD L10 ...
0348     BPM L11 QFA L12  SFF COR SFF L13 BBPM  ...
0349     L14 B2a B2b B2c L15 BBPM L16  SFF COR SFF  L17  ...
0350     QFA L18 BPM L19  SDD COR SDD L20 B3a B3b L21 ...
0351     BPM L22 QD L23 COR L24 QF L25  ...
0352     BPM L26  COR L27e9 IDBPM L27f9];
0353 SUP10 = [  L1e10 IDBPM L1f10 COR L2 BPM L3 QF L4 COR L5 QD  ...
0354     L6 BPM L7 L8 B1a B1b L9 SDD COR SDD L10 ...
0355     BPM L11 QFA L12  SFF COR SFF L13 BBPM  ...
0356     L14 B2a B2b B2c L15 BBPM L16  SFF COR SFF  L17  ...
0357     QFA L18 BPM L19  SDD COR SDD L20 B3a B3b L21 ...
0358     BPM L22 QD L23 COR L24 QF L25  ...
0359     BPM L26 COR L27s11a  IDBPM L27s11c ];
0360 SUP11 = [L1s11a IDBPM L1s11b CHIC COR L1s11c IDBPM L1s11d IDBPM L1s11e COR L2 BPM L3 QF L4 COR L5 QD  ... 
0361     L6 BPM L7 L8 B1a B1b L9 SDD COR SDD L10 ...
0362     BPM L11 QFA L12  SFF COR SFF L13 BBPM  ...
0363     L14 B2a B2b B2c L15 BBPM L16  SFF COR SFF  L17  ...
0364     QFA L18 BPM L19  SDD COR SDD L20 B3a B3b L21 ...
0365     BPM L22 QD L23 COR L24 QF L25  ...
0366     BPM L26  COR L27e11 IDBPM L27f11];
0367 SUP12 = [ L1e12 IDBPM L1f12 COR L2 BPM L3 QF L4 COR L5 QD  ...
0368     L6 BPM L7 L8 B1a B1b L9 SDD COR SDD L10 ...
0369     BPM L11 QFA L12  SFF COR SFF LS1 QDA LS2 BBPM  ...
0370     LS3 BSa BSb BSc LS3 BBPM LS2 QDA LS1  SFF COR SFF  L17  ...
0371     QFA L18 BPM L19  SDD COR SDD L20 B3a B3b L21 ...
0372     BPM L22 QD L23 COR L24 QF L25  ...
0373     BPM L26 L27 ];
0374 
0375 ELIST = [INJ SECT1 SUP1 SECT2 SUP2 SECT3 CAV SUP3 SECT4 SUP4 SECT5 SUP5 SECT6 SUP6 ...
0376     SECT7 SUP7 SECT8 SUP8 SECT9 SUP9 SECT10 SUP10 SECT11 SUP11 SECT12 SUP12 FIN];
0377 
0378 
0379 buildlat(ELIST);
0380 
0381 
0382 % Superbend twicks
0383 QFI = findcells(THERING,'FamName','QF');
0384 THERING = setcellstruct(THERING, 'K',        QFI([7:8 15:16 23:24]), 2.219784);
0385 THERING = setcellstruct(THERING, 'PolynomB', QFI([7:8 15:16 23:24]), 2.219784,2);
0386 
0387 QDI = findcells(THERING,'FamName','QD');
0388 THERING = setcellstruct(THERING, 'K',        QDI([7:8 15:16 23:24]), -2.483259);
0389 THERING = setcellstruct(THERING, 'PolynomB', QDI([7:8 15:16 23:24]), -2.483259,2);
0390 
0391 QFAI = findcells(THERING,'FamName','QFA');
0392 THERING = setcellstruct(THERING, 'K',        QFAI([7:8 15:16 23:24]), 3.120815);
0393 THERING = setcellstruct(THERING, 'PolynomB', QFAI([7:8 15:16 23:24]), 3.120815,2);
0394 
0395 BSI = findcells(THERING,'FamName', 'BS');
0396 THERING = setcellstruct(THERING, 'PolynomB', BSI, -22.68, 3);
0397 % BSI = findcells(THERING,'FamName','BSa');
0398 % THERING = setcellstruct(THERING,'PolynomB', BSI, -22.68, 3);
0399 % BSI = findcells(THERING,'FamName','BSb');
0400 % THERING = setcellstruct(THERING,'PolynomB', BSI, -22.68, 3);
0401 % BSI = findcells(THERING,'FamName','BSc');
0402 % THERING = setcellstruct(THERING,'PolynomB', BSI, -22.68, 3);
0403 
0404 
0405 % Compute total length and RF frequency
0406 L0_tot = findspos(THERING, length(THERING)+1);
0407 % L0_tot=0;
0408 % for i=1:length(THERING)
0409 %     L0_tot=L0_tot+THERING{i}.Length;
0410 % end
0411 fprintf('   L0 = %.6f m   (should be 196.805415 m)\n', L0_tot)
0412 fprintf('   RF = %.6f MHz (should be 499.640349 Hz)\n', HarmNumber*C0/L0_tot/1e6)
0413 
0414 
0415 % Compute initial tunes before loading errors
0416 % [InitialTunes, InitialChro]= tunechrom(THERING,0,[14.25, 8.2],'chrom','coupling');
0417 % fprintf('Tunes and chromaticities might be slightly incorrect if synchrotron radiation and cavity are on\n');
0418 % fprintf('Tunes: nu_x=%g, nu_y=%g\n',InitialTunes(1),InitialTunes(2));
0419 % fprintf('Chromaticities: xi_x=%g, xi_y=%g\n',InitialChro(1),InitialChro(2));
0420 
0421 
0422 % Newer AT versions requires 'Energy' to be an AT field
0423 THERING = setcellstruct(THERING, 'Energy', 1:length(THERING), Energy);
0424 
0425 
0426 % New AT does not use FAMLIST
0427 clear global FAMLIST
0428 
0429 % GWig may still use GLOBVAL
0430 clear global GLOBVAL
0431 
0432 % LOSSFLAG is not global in AT1.3
0433 evalin('base','clear LOSSFLAG');
0434 
0435 
0436 %setcavity off;
0437 %setradiation off;
0438 
0439 %evalin('caller','global THERING GLOBVAL');
0440 %evalin('base','global THERING GLOBVAL');
0441

Generated on Thu 02-Aug-2007 13:16:07 by m2html © 2003