[430] | 1 | ! Macros from Javier Barranco |
---|
| 2 | |
---|
| 3 | crab_make_cc(NNN,SIDE,IRN,BIM,FFF): macro { |
---|
| 4 | crabrf:=HRF400/LHCLENGTH*clight; |
---|
| 5 | sigmas=0.075; |
---|
| 6 | ahcrabref_SIDEIRNBIM:=ahcrab_SIDEIRNBIM/FFF*cosiIRN; |
---|
| 7 | avcrabref_SIDEIRNBIM:=avcrab_SIDEIRNBIM/FFF*sinuIRN; |
---|
| 8 | acrabref_SIDEIRNBIM:=sqrt(ahcrabref_SIDEIRNBIM^2+avcrabref_SIDEIRNBIM^2); |
---|
| 9 | ! vcrabref_SIDEIRNBIM:=acrabref_SIDEIRNBIM/sigmas*nrj*1e9*clight/(2*pi*crabrf); |
---|
| 10 | vcrabref_SIDEIRNBIM:=acrabref_SIDEIRNBIM*7e12; |
---|
| 11 | acrabccNNN.SIDEIRNBIM: crabcavity, l=0, volt:=on_crabIRN*vcrabref_SIDEIRNBIM/1e6, |
---|
| 12 | lag=0.0,freq=crabrf/1e6,tilt:=phi_irIRN/180*pi; |
---|
| 13 | }; |
---|
| 14 | |
---|
| 15 | crab_install_cc(NNN,PFFF,PBBB): macro ={ |
---|
| 16 | seqedit, sequence=lhcb1; |
---|
| 17 | install,element=acrabccNNN.l5b1,at=-PBBB,from=IP5; |
---|
| 18 | install,element=acrabccNNN.r5b1,at= PFFF,from=IP5; |
---|
| 19 | install,element=acrabccNNN.l1b1,at=-PBBB,from=IP1.L1; |
---|
| 20 | install,element=acrabccNNN.r1b1,at= PFFF,from=IP1; |
---|
| 21 | endedit; |
---|
| 22 | }; |
---|
| 23 | |
---|
| 24 | crab_remove_cc(NNN): macro ={ |
---|
| 25 | seqedit, sequence=lhcb1; |
---|
| 26 | remove,element=acrabccNNN.l5b1; |
---|
| 27 | remove,element=acrabccNNN.r5b1; |
---|
| 28 | remove,element=acrabccNNN.l1b1; |
---|
| 29 | remove,element=acrabccNNN.r1b1; |
---|
| 30 | endedit; |
---|
| 31 | }; |
---|
| 32 | |
---|
| 33 | |
---|
| 34 | crab_make(NNN,FFF): macro { |
---|
| 35 | exec,crab_make_cc(NNN,l,5,b1,FFF); |
---|
| 36 | exec,crab_make_cc(NNN,l,5,b2,FFF); |
---|
| 37 | exec,crab_make_cc(NNN,r,5,b1,FFF); |
---|
| 38 | exec,crab_make_cc(NNN,r,5,b2,FFF); |
---|
| 39 | exec,crab_make_cc(NNN,l,1,b1,FFF); |
---|
| 40 | exec,crab_make_cc(NNN,l,1,b2,FFF); |
---|
| 41 | exec,crab_make_cc(NNN,r,1,b1,FFF); |
---|
| 42 | exec,crab_make_cc(NNN,r,1,b2,FFF); |
---|
| 43 | }; |
---|
| 44 | |
---|
| 45 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
---|
| 46 | ! EXECUTE THE MACROS |
---|
| 47 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
---|
| 48 | |
---|
| 49 | exec,crab_make(A,3); exec,crab_make(B,3); exec,crab_make(C,3); |
---|
| 50 | |
---|
| 51 | exec,crab_remove(A); exec,crab_remove(B); exec,crab_remove(C); |
---|
| 52 | exec,crab_remove_cc(A); exec,crab_remove_cc(B); exec,crab_remove_cc(C); |
---|
| 53 | |
---|
| 54 | exec,crab_install_cc(A,posCRABA1,posCRABA2); |
---|
| 55 | exec,crab_install_cc(B,posCRABB1,posCRABB2); |
---|
| 56 | exec,crab_install_cc(C,posCRABC1,posCRABC2); |
---|