! MAX IV linac
! After first linac: E=100 MeV betax=betay:68 m, alfax=alfay=-1, Delta E =0 
! All linacs 95 MeV on crest	

MAL:MALIGN
------------------------------------------------
q: charge,total="0.1e-9 1 *"


! -------------------Watch points-----------------

!All watchpoints are placed right after the name element

w-init: WATCH, filename = "w-init.sdds"
w-lin1: WATCH, filename = "w-lin1.sdds"
w-achr1a: WATCH, filename = "w-achr1a.sdds"
w-achr2a: WATCH, filename = "w-achr2a.sdds"
w-BC1: WATCH, filename = "w-BC1.sdds"
w-BC2: WATCH, filename = "w-BC2.sdds"
w-end: WATCH, filename = "w-end.sdds"

! ---------------Fit points --------------------
punkt1: MARK, fitpoint = 1
punkt2: MARK, fitpoint = 1
fit0: mark, fitpoint=1
fit1: mark, fitpoint=1
fit2: mark, fitpoint=1
fit3: mark, fitpoint=1
fit4: mark, fitpoint=1
fit5: mark, fitpoint=1
fit6: mark, fitpoint=1
fit7: mark, fitpoint=1
fit8: mark, fitpoint=1
fit9: mark, fitpoint=1
fit10: mark, fitpoint=1
fit11: mark, fitpoint=1
fit12: mark, fitpoint=1
fit13: mark, fitpoint=1
fit14: mark, fitpoint=1
BCfit1: mark, fitpoint=1
BCfit2: mark, fitpoint=1


! ------------------ Acceleration ----------------- 

% 2998e6		sto frequency
% 0.033333333        	sto cav_l
% 6.44e5	        sto volt1
% 5.2e5	         	sto volt
% 6.2e5	         	sto volt2
% 90 32.0 +		sto BC1_phase
% 90 14 +		sto BC_phase
!~ % 90 0 +		sto BC1_phase
!~ % 90 0 +		sto BC_phase

lincav1: 	rfca, freq = "frequency" ,l="cav_l",&
	  	volt="volt1",&
		phase="BC1_phase",&
		change_p0=1,&
		end1_focus=1,end2_focus=1


lincav: 	rfca, freq = "frequency" ,l="cav_l",&
	  	volt="volt",&
		phase="BC_phase",&
		change_p0=1,&
		end1_focus=1,end2_focus=1

lincav2: 	rfca, freq = "frequency" ,l="cav_l",&
	  	volt="volt2",&
		phase="BC_phase",&
		change_p0=1,&
		end1_focus=1,end2_focus=1


zwake: wake,inputfile="wakefieldlong.sdds",factor=1,&
        tColumn="t",wColumn="W",n_bins=0,allow_long_beam=0,change_p0=1




!------------utan wake-----------
!lin1: line=(156*lincav1)
!lin: line=(156*lincav)


!------------med wake-----------
lin1: line=(156*(lincav1,zwake))
lin: line=(156*(lincav,zwake))

lin2: line=(156*(lincav2,zwake))


lindrift04: DRIFT,L=0.4                                               
lindrift05: DRIFT,L=0.5                                               
lindrift1: DRIFT,L=1
lindrift12: DRIFT,L=1.2
lindrift03: DRIFT,L=0.3
lindrift045: drift, L=0.45
lindrift065: drift, L=0.65
lindrift08: drift, L=0.4
ddrift: DRIFT, L="5.2 10 /"
diagn_drift1: line=(10*ddrift) 
LHdrift: drift,L=2.6  
tom: drift, L=5.2 
fitdrift: drift, L=0.4  

qkorr1: DRIFT, L=-0.025 !Length correction for 5 cm quads
qkorr2: DRIFT, L=-0.0 !Length correction for 20 cm quads


LINQ1A: QUAD,L=0.1,K1=4.549203597575049
LINQ1B: QUAD,L=0.1,K1=-4.98092400565084
LINQ1C: QUAD,L=0.1,K1=3.790569681788608
LINQ1D: QUAD,L=0.1,K1=-3.921811169579585

LINQ2A: QUAD,L=0.1,K1=8.251900701432675
LINQ2B: QUAD,L=0.1,K1=-8.019280003154393
LINQ3A: QUAD,L=0.1,K1=3.605894487341594
LINQ3B: QUAD,L=0.1,K1=-3.049530864733877


QB: QUAD,L=0.2,K1=0.757
QA: QUAD,L=0.2,K1=-0.757
QAP:QUAD,L=0.1,K1=-0.757


qend       : quadrupole, l = 0.2, k1 = 1.9282071;
!==========INTRASECTIONS IS=================================

IS0: line=(lindrift04,linQ1a,lindrift04,linQ1b,lindrift04)
IS1a: line=(lindrift04,linQ1c,lindrift04,linQ1d,lindrift04)
IS1b: line=(lindrift04,linQ2a,lindrift04,linQ2b,lindrift04)
IS2a: line=(lindrift04,linQ3a,lindrift04,linQ3b,fit3,lindrift04)

ISb: line = (lindrift045,QB,lindrift045)
ISa: line = (lindrift045,QA,lindrift045)
ISAp: line = (QAp,lindrift045)
ISApr: line = (lindrift045,QAp)

postGun: line=(IS0)


!==================================================
!========== match before BC1 ===================

!~ match1D1: drift, L=0.5
!~ match1D2: drift, L=0.5
!~ match1D3: drift, L=2.5  !Laser heater drift
!~ match1D4: drift, L=1.1
!~ match1D5: drift, L=0.5

!~ match1Q1: quad, L=0.1,k1=7.583648544114
!~ match1Q2: quad, L=0.1,k1=-9.695966557944
!~ match1Q3: quad, L=0.1,k1=6.758462002506
!~ match1Q4: quad, L=0.1,k1=-8.789792042542

!~ preBC1: line=(match1D1,match1Q1,match1D2,match1Q2,match1D3,match1Q3,match1D4,match1Q4,match1D5)

!==================================================
!========== match before BC1 ======================
!================DAK:2010/12/06====================
 
 match1D1: drift, L=0.2
 match1D2: drift, L=0.8
 match1D3: drift, L=0.8
 match1D4: drift, L=2.6  !Laser heater drift
 match1D5: drift, L=0.8
 match1D6: drift, L=0.6

 match1Q1: quad, L=0.1,k1=-8.581616E+00
 match1Q2: quad, L=0.1,k1=8.599316E+00
 match1Q3: quad, L=0.1,k1=-8.975424E+00
 match1Q4: quad, L=0.1,k1=8.567428E+00

 preBC1: line=(match1D1,match1Q1,match1D2,match1Q2,match1D3,match1D4,&
        match1Q3,match1D5,match1Q4,match1D6)
!==================================================



!=====================================================
!========== match after BC1 into the main linac - rematched ST 2010/12/01======

match2D1: drift, L=0.6
match2D2: drift, L=0.9
match2D3: drift, L=0.8
match2D4: drift, L=1.2
match2D5: drift, L=0.73

match2Q1: quad, L=0.2,k1=-1.28969955031
match2Q2: quad, L=0.2,k1=-3.634260474176
match2Q3: quad, L=0.2,k1=4.161886498866
match2Q4: quad, L=0.2,k1=-2.076501628695

postBC1: line=(match2D1,match2Q1,match2D2,match2Q2,match2D3,match2Q3,match2D4,match2Q4,match2D5)
!===================================================


 
!===========LINAC SECTIONS====================


!~ !==========Use for excell conversion only=============
!~ !=====================================================
!~ linac: drift,L=5.2
!~ unit1: line=(linac,IS1a,linac)
!~ linac_period: line=(QA,lindrift045,linac,lindrift045,QB,&
	!~ lindrift045,linac,lindrift045)
!~ linac_period_shifted: line=(QB,lindrift045,linac,lindrift045,QA,&
	!~ lindrift045,linac,lindrift045)
!~ empty_period: line=(QA,lindrift045,tom,lindrift045,QB,&
	!~ lindrift045,tom,lindrift045)
!~ !===========================================================
!~ !=========================================================


!==========Use for proper calculations================
!=====================================================
unit1: line=(lin1,IS1a,lin1)
linac_period: line=(QA,lindrift045,lin,lindrift045,QB,&
	lindrift045,lin,lindrift045)

linac_period_shifted: line=(QB,lindrift045,lin,lindrift045,QA,&
	lindrift045,lin,lindrift045)
	
empty_period: line=(QA,lindrift045,tom,lindrift045,QB,&
	lindrift045,tom,lindrift045)
!===========================================================
!=========================================================


pre15inj: 	drift, L=2.4
post15inj: 	drift,L=2.8

15inj: marker



15_injection: line = (QA,lindrift045,pre15inj,15inj,post15inj,lindrift045)

pre3inj: 	drift, L=0.0
post3inj: 	drift,L=5.2

3inj: marker

3_injection: line = (QB,lindrift045,pre3inj,3inj,post3inj,lindrift045,QA)




main15: line=(8*linac_period,empty_period)

main3: line=(10*linac_period_shifted)


! ------------------ BC1 achromat ---------------- 


qm         : quadrupole, l = 0.1, k1 = 5.17189;
qdend      : quadrupole, l = 0.2, k1 = -0.5765;
qfend      : quadrupole, l = 0.2, k1 = 6.00634;


s1         : sextupole, l = 0.1, k2 = 50.43;
s2         : sextupole, l = 0.1, k2 = -50.43;
!~ s1         : sextupole, l = 0.1, k2 = 27.43;
!~ s2         : sextupole, l = 0.1, k2 = -27.43;



F0: DRIFT, L=0.2
F1: DRIFT,L=1.22       
F2: DRIFT,L=1.3                              
F3: DRIFT,L=0.06
F4: DRIFT,L=0.4

% 4.4 180 / pi *   sto vinkel1
% 2.2 180 / pi *   sto kantvinkel1
% -3    sto grad



H1: csrcsbend,angle="vinkel1",l=0.1,e1="kantvinkel1",e2="kantvinkel1",K1="grad",&
 nonlinear=1,n_kicks=100,integration_order=4,&
 bins=600,sg_halfwidth=1,&
 hgap=0.001, fint=0.4,

% -4.4 180 / pi *   sto vinkel2
% -2.2 180 / pi *   sto kantvinkel2


H2: csrcsbend,angle="vinkel2",l=0.1,e1="kantvinkel2",e2="kantvinkel2",K1="grad",&
 nonlinear=1,n_kicks=100,integration_order=4,&
 bins=600,sg_halfwidth=1,&
 hgap=0.001, fint=0.4,

Achr1a: LINE=(H1,F1,H1,F2,QM,F3,S1,F3,QM,F2,H1,F1,H1)
CenterFocus: LINE=(F0,QDEND,F4,QFEND,F4,QDEND,F0)                         
Achr1b: LINE=(H2,F1,H2,F2,QM,F3,S2,F3,QM,F2,H2,F1,H2,BCfit2)  

BC1: line = (Achr1a,w-achr1a,CenterFocus,Achr1b)   

!-------------------------------------------------------------------

!----------------~~~~~~Match before BC2 - altered PHW 2010 11 24-------------------

prebc2q1   : quadrupole, l = 0.2, k1 = 0.398932963981
prebc2q2   : quadrupole, l = 0.2, k1 = 2.766110760612;
prebc2q3   : quadrupole, l = 0.2, k1 = -3.049285080022;
prebc2q4   : quadrupole, l = 0.2, k1 = 2.872867421305;

L1: DRIFT,L=1
L2: DRIFT, L=0.4
FMID: DRIFT,L=1                                                               

prebc2match: LINE=(L1,prebc2q1,FMID,L1,prebc2q2,L1,prebc2q3,FMID,L1,prebc2q4,L2)

!-------------------------------------------------------------------

! ------------------ BC2 achromat ---------------- 

qfend2     : quadrupole, l = 0.2, k1 = -0.082;
qdend2     : quadrupole, l = 0.2, k1 = 2.3607;
q21        : quadrupole, l = 0.2, k1 = 4.3386437;
q22        : quadrupole, l = 0.2, k1 = -2.3677345;
qcent      : quadrupole, l = 0.2, k1 = 1.5608263;

qm2        : quadrupole, l = 0.2, k1 = 2.298537;                        
s12         : sextupole, l = 0.1, k2 = 100.228;
s22         : sextupole, l = 0.1, k2 = -100.228;
 
 

F12: DRIFT,L=1.22                                                                
F22: DRIFT,L=1.2                                                                 
F32: DRIFT,L=0.06
SS200: DRIFT,L=0.2
SSdelta: DRIFT,L=3.48

% 3.2 180 / pi *   sto vinkel12
% 1.6 180 / pi *   sto kantvinkel12


H12: csrcsbend,angle="vinkel12",l=0.55,e1="kantvinkel12",e2="kantvinkel12",K1=-0.7519,&
 nonlinear=1,n_kicks=100,integration_order=4,&
 bins=600,sg_halfwidth=1,&
 hgap=0.001, fint=0.4,

% -3.2 180 / pi *   sto vinkel22
% -1.6 180 / pi *   sto kantvinkel22

H22: csrcsbend,angle="vinkel22",l=0.55,e1="kantvinkel22",e2="kantvinkel22",K1=-0.7519,&
 nonlinear=1,n_kicks=100,integration_order=4,&
 bins=600,sg_halfwidth=1,&
 hgap=0.001, fint=0.4,


Achr2a: LINE=(QFEND2,SS200,QDEND2,SS200,H12,F12,H12,F22,QM2,F32,S12,F32,QM2,F22,H12,F12,H12)
CenterFocus2: LINE=(SS200,Q21,SSdelta,Q22,SSdelta,Qcent,SSdelta,q22,SSdelta,q21,SS200)  
Achr2b: LINE=(H22,F12,H22,F22,QM2,F32,S22,F32,QM2,F22,H22,F12,H22,SS200,QDEND2,SS200,QFEND2) 
                         
BC2: line = (Achr2a,w-achr2a,CenterFocus2,Achr2b)  

!---------------------------------------------------

!~ 

bl: LINE = (q,postGun,unit1,preBC1,BC1,w-BC1)

!,postBC1,main15,15_injection,main3,3_injection,prebc2match,BC2)




!bl: LINE = (q,postGun,unit1,preBC1)

!,BC1,postBC1,main15,QAP,lindrift045,tom,lindrift045,QB,lindrift045,pre15inj,15inj)

!,post15inj,lindrift045,QAP,main3,QAP,lindrift045,tom,lindrift045,QB,lindrift045,pre3inj,3inj,post3inj,lindrift045,QA,prebc2match,BC2)








