centre des éléments =
QP1 5005
QP2 5350
QP3 5701
yag 7700
LQP= 0.15731 (magnétique)
----------------------------------------------------------------------------------------
function varargout = TL_SLlattice
% Lattice definition file
% Lattice for ThomX transfer line for the drift line until the SST1
%
global FAMLIST THERING GLOBVAL
GLOBVAL.E0 = 50e6; % Ring energy
GLOBVAL.LatticeFile = mfilename;
FAMLIST = cell(0);
disp(['** Loading THOMX transfer line lattice for the drift line until the SST1 ', mfilename]);
%%=======================
% BPM
%========================
% horizontal
BPMx = marker('BPMx', 'IdentityPass');
% vertical
BPMz = marker('BPMz', 'IdentityPass');
%%=======================
% correctors
%========================
HCOR = corrector('HCOR',1.0e-6,[0, 0],'CorrectorPass');
VCOR = corrector('VCOR',1.0e-6,[0, 0],'CorrectorPass');
%% DRIFT SPACES
SD1L1 = drift('SD1L1', 0.263E+00,'DriftPass');
SD1L2 = drift('SD1L2', 0.133345E+00+5e-3,'DriftPass');
SD2L = drift('SD2L', 0.19269E+00-5e-3,'DriftPass');
SD3L = drift('SD3L', 0.196845E+00+1e-3,'DriftPass');
%SD4L = drift('SD4L', 0.25E+00,'DriftPass');
SD3L2 = drift('SD3L2', 1.7235E+00,'DriftPass');
%SDSL = drift('SDDL', 0.405E+00,'DriftPass');
SDSL = drift('SDDL', 0.0E+00,'DriftPass');
%% QUADRUPOLES
LQP= 0.15731; %Quadrupole length
QPassMethod = 'StrMPoleSymplectic4Pass'; % tracking method
QP1L = quadrupole('QP1L', LQP, -2.5470, QPassMethod);
QP2L = quadrupole('QP2L', LQP, 5.3724, QPassMethod);
QP3L = quadrupole('QP3L', LQP, -1.5797, QPassMethod);
%% Marker
DEBUT = drift('DEBUT',0.0,'DriftPass');
FIN = drift('FIN',0.0,'DriftPass');
TLSST1 = marker('yag', 'IdentityPass');
% Lattice
% definition of BPMX must be followed by BPMz
ELIST =[DEBUT ...
SD1L1 HCOR VCOR SD1L2 QP1L SD2L QP2L SD2L QP3L ...
SD3L BPMx BPMz SD3L2 TLSST1 SDSL ...
FIN];
buildlat(ELIST);
% Set all magnets to same energy
THERING = setcellstruct(THERING,'Energy',1:length(THERING),GLOBVAL.E0);
evalin('caller','global THERING FAMLIST GLOBVAL');
disp('** Done **');
|