! ILCDR FODO LATTICE "DCO" ! Andy Wolski (Cockcroft), 25 Jan 2008 E0 := 5.0 ! nominal beam energy (GeV) BLENGTH := 2.00 ! length of standard bending magnet QLENGTH := 0.30 ! length of standard quadrupole SLENGTH := 0.25 ! length of standard sextupole ANGARCB := TWOPI/192 ! angle of arc bending magnet (192 arc (fodo) cells) !--------1---------2---------3---------4---------5---------6---------7---------8 ! ARC (arc cell) !--------1---------2---------3---------4---------5---------6---------7---------8 ! Drifts DARCX: DRIFT, L=SLENGTH DARCB: DRIFT, L=BLENGTH DARCS: DRIFT, L=0.20 DARC1: DRIFT, L=5.95 DARC2: DRIFT, L=1.45 ! Bends BARC: SBEND, L=BLENGTH, ANGLE=ANGARCB, E1=ANGARCB/2, E2=ANGARCB/2 ! Quadrupoles QARCF: QUADRUPOLE, L=QLENGTH, K1=K1.QARCF QARCD: QUADRUPOLE, L=QLENGTH, K1=K1.QARCD ! Sextupoles SXT_ON := 1 SARC1: SEXTUPOLE, L=SLENGTH, K2=K2.SARC1*SXT_ON SARC2: SEXTUPOLE, L=SLENGTH, K2=K2.SARC2*SXT_ON SARC3: SEXTUPOLE, L=SLENGTH, K2=K2.SARC3*SXT_ON SARC4: SEXTUPOLE, L=SLENGTH, K2=K2.SARC4*SXT_ON ! Beam line templates ARCTM(S1,S2): LINE=( DARCS, & DARCX, DARC2, & BARC, DARC1, & S1, DARCS, & QARCF, DARCS, & DARCX, DARC1, & DARCB, DARC2, & S2, DARCS ) ARCT1(S1,S2): LINE=( QARCD, ARCTM(S1,S2) ) ARCT2(S1,S2): LINE=( ARCTM(S1,S2), QARCD ) ! Beam lines ARC: LINE=( ARCT1(SARC1,SARC2) ) ARC0: LINE=( ARCT1(SARC3,SARC4) ) ARC2: LINE=( ARCT2(SARC1,SARC2) ) ARCM: LINE=( ARCTM(SARC3,SARC4) ) ARC5: LINE=( ARCT1(SARC1,SARC4), & ARCT1(SARC3,SARC4), & ARCT1(SARC1,SARC2), & ARCT1(SARC3,SARC4), & ARCT1(SARC3,SARC2) ) !--------1---------2---------3---------4---------5---------6---------7---------8 ! DSP (dispersion suppressor) !--------1---------2---------3---------4---------5---------6---------7---------8 ! Drifts DDSP1: DRIFT, L=1.50 DDSP2: DRIFT, L=3.10 DDSP3: DRIFT, L=3.10 DDSP4: DRIFT, L=2.35 DDSP5: DRIFT, L=4.10 DDSP6: DRIFT, L=1.80 DDSP7: DRIFT, L=3.70 DDSP8: DRIFT, L=4.70 DDSP9: DRIFT, L=7.25 DDSPA: DRIFT, L=9.20 ! Bends ANGDSP1:= ANGARCB*0.35 ANGDSP2:= ANGARCB*0.65 BDSP1: SBEND, L=BLENGTH, ANGLE=ANGDSP1, E1=ANGDSP1/2, E2=ANGDSP1/2 BDSP2: SBEND, L=BLENGTH, ANGLE=ANGDSP2, E1=ANGDSP2/2, E2=ANGDSP2/2 ! Quadrupoles QDSP0: QUADRUPOLE, L=QLENGTH, K1=K1.QDSP0 QDSP1: QUADRUPOLE, L=QLENGTH, K1=K1.QDSP1 QDSP2: QUADRUPOLE, L=QLENGTH, K1=K1.QDSP2 QDSP3: QUADRUPOLE, L=QLENGTH, K1=K1.QDSP3 QDSP4: QUADRUPOLE, L=QLENGTH, K1=K1.QDSP4 QDSP5: QUADRUPOLE, L=QLENGTH, K1=K1.QDSP5 QDSP6: QUADRUPOLE, L=QLENGTH, K1=K1.QDSP6 QDSP7: QUADRUPOLE, L=QLENGTH, K1=K1.QDSP7 ! Beam lines DSP: LINE=( QDSP0, DDSP1, & BDSP1, DDSP2, & QDSP1, DDSP3, & QDSP2, DDSP4, & QDSP3, DDSP5, & BDSP2, DDSP6, & QDSP4, DDSP7, & QDSP5, DDSP8, & QDSP6, DDSP9, & QDSP7, DDSPA ) ARCDSP: LINE=( ARC, DSP ) !--------1---------2---------3---------4---------5---------6---------7---------8 ! PHT (phase trombone) !--------1---------2---------3---------4---------5---------6---------7---------8 ! Drifts DPHT1: DRIFT, L=12.00+0.043604589 ! Quadrupoles QPHT1: QUADRUPOLE, L=QLENGTH, K1=K1.QPHT1 QPHT2: QUADRUPOLE, L=QLENGTH, K1=K1.QPHT2 QPHT3: QUADRUPOLE, L=QLENGTH, K1=K1.QPHT3 QPHT4: QUADRUPOLE, L=QLENGTH, K1=K1.QPHT4 QPHT5: QUADRUPOLE, L=QLENGTH, K1=K1.QPHT5 QPHT6: QUADRUPOLE, L=QLENGTH, K1=K1.QPHT6 ! Beam lines PHT: LINE=( QPHT1, DPHT1, & QPHT2, DPHT1, & QPHT3, DPHT1, & QPHT4, DPHT1, & QPHT5, DPHT1, & QPHT6, DPHT1 ) !--------1---------2---------3---------4---------5---------6---------7---------8 ! MPC (matching from phase trombone into circumference correction chicane) !--------1---------2---------3---------4---------5---------6---------7---------8 ! Drifts DMPC1: DRIFT, L=5.30 ! Quadrupoles QMPC1: QUADRUPOLE, L=QLENGTH, K1=K1.QMPC1 QMPC2: QUADRUPOLE, L=QLENGTH, K1=K1.QMPC2 QMPC3: QUADRUPOLE, L=QLENGTH, K1=K1.QMPC3 QMPC4: QUADRUPOLE, L=QLENGTH, K1=K1.QMPC4 ! Beam lines MPC: LINE=( QMPC1, DMPC1, & QMPC2, DMPC1, & QMPC3, DMPC1, & QMPC4 ) !--------1---------2---------3---------4---------5---------6---------7---------8 ! CCH (circumference correction chicane) !--------1---------2---------3---------4---------5---------6---------7---------8 ! Drifts DCCH1: DRIFT, L= 4.00 DCCH2: DRIFT, L= 3.60 DCCH3: DRIFT, L= 0.50 DCCH4: DRIFT, L= 1.00 DCCH5: DRIFT, L= 3.00 ! Bends ANGCCH1:= ANGARCB/2 ANGCCH2:=-ANGARCB/2 BCCH1: SBEND, L=BLENGTH/2, ANGLE=ANGCCH1, E1=ANGCCH1/2, E2=ANGCCH1/2 BCCH2: SBEND, L=BLENGTH/2, ANGLE=ANGCCH2, E1=ANGCCH2/2, E2=ANGCCH2/2 ! Quadrupoles QCCH1: QUADRUPOLE, L=QLENGTH, K1=K1.QCCH1 QCCH2: QUADRUPOLE, L=QLENGTH, K1=K1.QCCH2 ! Beam lines CCH: LINE=( DCCH1, & QCCH1, DCCH2, & QCCH2, DCCH3, & BCCH1, DCCH4, & BCCH2, DCCH3, & BCCH2, DCCH5, & BCCH1, DCCH3, & BCCH1, DCCH4, & BCCH2, DCCH3, & QCCH2, DCCH2, & QCCH1, DCCH1 ) !--------1---------2---------3---------4---------5---------6---------7---------8 ! RFC (rf) !--------1---------2---------3---------4---------5---------6---------7---------8 ! Drifts DRFC1: DRIFT, L= 3.06277573 DRFC2: DRIFT, L= 3.11322937 ! Quadrupoles QRFC1: QUADRUPOLE, L=QLENGTH, K1=K1.QRFC1 QRFC2: QUADRUPOLE, L=QLENGTH, K1=K1.QRFC2 ! RF cavities RF_ON := 1 VRFC1: RFCAVITY, L=0.2306096, VOLT=RFVOLT, LAG=RFPHSE, HARMON=14042 VRFC0: RFCAVITY, L=0.2306096, VOLT=0, LAG=RFPHSE, HARMON=14042 ! Beam lines RFC: LINE=( QRFC1, DRFC1, & VRFC1, DRFC2, & VRFC1, DRFC1, & QRFC2, DRFC1, & VRFC1, DRFC2, & VRFC1, DRFC1 ) RFX: LINE=( QRFC1, DRFC1, & VRFC1, DRFC2, & VRFC1, DRFC1, & QRFC2, DRFC1, & VRFC0, DRFC2, & VRFC0, DRFC1 ) !--------1---------2---------3---------4---------5---------6---------7---------8 ! DLG (dogleg) !--------1---------2---------3---------4---------5---------6---------7---------8 ! Drifts DDLG1: DRIFT, L=2.0 DDLG3: DRIFT, L=9.6 DDLG2: DRIFT, L=DDLG3[L]-DDLG1[L]-BLENGTH ! Bends ANGDLG1:= -ANGARCB ANGDLG2:= ANGARCB BDLG1: SBEND, L=BLENGTH, ANGLE=ANGDLG1, E1=ANGDLG1/2, E2=ANGDLG1/2 BDLG2: SBEND, L=BLENGTH, ANGLE=ANGDLG2, E1=ANGDLG2/2, E2=ANGDLG2/2 ! Quadrupoles QDLG1: QUADRUPOLE, L=QLENGTH, K1=K1.QDLG1 QDLG2: QUADRUPOLE, L=QLENGTH, K1=K1.QDLG2 ! Beam lines DLG: LINE=( QDLG1, DDLG1, & BDLG1, DDLG2, & QDLG2, DDLG3, & QDLG1, DDLG3, & QDLG2, DDLG3, & QDLG1, DDLG3, & QDLG2, DDLG3, & QDLG1, DDLG1, & BDLG2, DDLG2, & QDLG2, DDLG3 ) !--------1---------2---------3---------4---------5---------6---------7---------8 ! MRD (matching RFC to DLG) !--------1---------2---------3---------4---------5---------6---------7---------8 ! Drifts DMRD1: DRIFT, L=7.5 DMRD2: DRIFT, L=6.5 DMRD3: DRIFT, L=6.0 DMRD4: DRIFT, L=4.5 ! Quadrupoles QMRD1: QUADRUPOLE, L=QLENGTH, K1=K1.QMRD1 QMRD2: QUADRUPOLE, L=QLENGTH, K1=K1.QMRD2 QMRD3: QUADRUPOLE, L=QLENGTH, K1=K1.QMRD3 QMRD4: QUADRUPOLE, L=QLENGTH, K1=K1.QMRD4 ! Beam lines MRD: LINE=( QMRD1, DMRD1, & QMRD2, DMRD2, & QMRD3, DMRD3, & QMRD4, DMRD4 ) !--------1---------2---------3---------4---------5---------6---------7---------8 ! WIG (wiggler magnet) !--------1---------2---------3---------4---------5---------6---------7---------8 ! Drifts DWIG2: DRIFT, L=0.1 DWIG3: DRIFT, L=0.025 ! Bends WIGBMAX := 1.6 ! Peak wiggler field (T) WIGPERD := 0.4 ! Wiggler period (m) WANGLE := WIGBMAX*(WIGPERD/4)*CLIGHT/E0/1e9 ! Bending angle in one pole BWIGP: SBEND, L=WIGPERD/4, ANGLE=+WANGLE, E1=+WANGLE/2, E2=+WANGLE/2 BWIGM: SBEND, L=WIGPERD/4, ANGLE=-WANGLE, E1=-WANGLE/2, E2=-WANGLE/2 BWIGPH: SBEND, L=WIGPERD/8, ANGLE=+WANGLE/2, E1=+WANGLE/4, E2=+WANGLE/4 BWIGMH: SBEND, L=WIGPERD/8, ANGLE=-WANGLE/2, E1=-WANGLE/4, E2=-WANGLE/4 ! Beamlines WIGPRD: LINE=(BWIGM,DWIG2,BWIGP,DWIG2) WIG: LINE=(BWIGPH,DWIG3,5*WIGPRD,BWIGM,DWIG2,BWIGP,DWIG3,BWIGMH) !--------1---------2---------3---------4---------5---------6---------7---------8 ! WGC (wiggler cell) !--------1---------2---------3---------4---------5---------6---------7---------8 ! Drifts DWGC1: DRIFT, L=0.75 ! Quadrupoles QWGC1: QUADRUPOLE, L=QLENGTH, K1=K1.QWGC1 QWGC2: QUADRUPOLE, L=QLENGTH, K1=K1.QWGC2 ! Beamline WGC: LINE=( QWGC1, DWGC1, & WIG, DWGC1, & QWGC2, DWGC1, & -WIG, DWGC1 ) !--------1---------2---------3---------4---------5---------6---------7---------8 ! MDW (matching from dogleg into wiggler) !--------1---------2---------3---------4---------5---------6---------7---------8 ! Drifts DMDW1: DRIFT, L=6.0 DMDW2: DRIFT, L=6.0 DMDW3: DRIFT, L=5.0 DMDW4: DRIFT, L=4.0 ! Quadrupoles QMDW1: QUADRUPOLE, L=QLENGTH, K1=K1.QMDW1 QMDW2: QUADRUPOLE, L=QLENGTH, K1=K1.QMDW2 QMDW3: QUADRUPOLE, L=QLENGTH, K1=K1.QMDW3 QMDW4: QUADRUPOLE, L=QLENGTH, K1=K1.QMDW4 ! Beamline MDW: LINE=( QMDW1, DMDW1, & QMDW2, DMDW2, & QMDW3, DMDW3, & QMDW4, DMDW4 ) !--------1---------2---------3---------4---------5---------6---------7---------8 ! PSD (reversed dispersion suppressor) !--------1---------2---------3---------4---------5---------6---------7---------8 ! Drifts DPSD1: DRIFT, L= 1.50 DPSD2: DRIFT, L= 1.30 DPSD3: DRIFT, L= 4.00 DPSD4: DRIFT, L= 1.70 DPSD5: DRIFT, L= 5.65 DPSD6: DRIFT, L= 2.50 DPSD7: DRIFT, L= 2.80 DPSD8: DRIFT, L= 5.80 DPSD9: DRIFT, L=10.40 DPSDA: DRIFT, L= 2.60 ! Bends ANGPSD1:= ANGARCB*0.25 ANGPSD2:= ANGARCB*0.75 BPSD1: SBEND, L=BLENGTH, ANGLE=ANGPSD1, E1=ANGPSD1/2, E2=ANGPSD1/2 BPSD2: SBEND, L=BLENGTH, ANGLE=ANGPSD2, E1=ANGPSD2/2, E2=ANGPSD2/2 ! Quadrupoles QPSD0: QUADRUPOLE, L=QLENGTH, K1=K1.QPSD0 QPSD1: QUADRUPOLE, L=QLENGTH, K1=K1.QPSD1 QPSD2: QUADRUPOLE, L=QLENGTH, K1=K1.QPSD2 QPSD3: QUADRUPOLE, L=QLENGTH, K1=K1.QPSD3 QPSD4: QUADRUPOLE, L=QLENGTH, K1=K1.QPSD4 QPSD5: QUADRUPOLE, L=QLENGTH, K1=K1.QPSD5 QPSD6: QUADRUPOLE, L=QLENGTH, K1=K1.QPSD6 QPSD7: QUADRUPOLE, L=QLENGTH, K1=K1.QPSD7 ! Beam lines PSD: LINE=( DPSDA, & QPSD7, DPSD9, & QPSD6, DPSD8, & QPSD5, DPSD7, & QPSD4, DPSD6, & BPSD2, DPSD5, & QPSD3, DPSD4, & QPSD2, DPSD3, & QPSD1, DPSD2, & BPSD1, DPSD1, & QPSD0 ) !--------1---------2---------3---------4---------5---------6---------7---------8 ! INJ (injection) !--------1---------2---------3---------4---------5---------6---------7---------8 ! Drifts DINJ1: DRIFT, L=10.00 DINJ2: DRIFT, L= 6.70 DINJ3: DRIFT, L= 8.50 DINJ4: DRIFT, L= 0.25 DINJ5: DRIFT, L= 0.20 DINJ6: DRIFT, L= 7.25 DINJ7: DRIFT, L= 0.50 ! Kickers KINJ1: HKICKER, L=0.3, KICK=0.0 ! Septa PINJ1: HKICKER, L=1.0, KICK=0.0 PINJ2: HKICKER, L=1.0, KICK=0.0 ! Quadrupoles QINJ1: QUADRUPOLE, L=QLENGTH, K1=K1.QINJ1 QINJ2: QUADRUPOLE, L=QLENGTH, K1=K1.QINJ2 ! Beam lines IJ0: LINE=( DINJ1, & QINJ1, DINJ2, & QINJ2, 2*DINJ3, & QINJ2, DINJ2, & QINJ1, DINJ1 ) KCKMD: LINE=( DINJ5, KINJ1 ) IJK: LINE=( DINJ1, & QINJ1, DINJ2, & QINJ2, DINJ4, & 33*KCKMD, DINJ4, & QINJ2, DINJ2, & QINJ1, DINJ1 ) IJP: LINE=( DINJ1, & QINJ1, DINJ2, & QINJ2, DINJ6, & PINJ1, DINJ7, & PINJ2, DINJ6, & QINJ2, DINJ2, & QINJ1, DINJ1 ) INJ: LINE=( IJ0, IJP, IJK ) !--------1---------2---------3---------4---------5---------6---------7---------8 ! MCI (matching from chicane to injection) !--------1---------2---------3---------4---------5---------6---------7---------8 ! Drifts DMCI1: DRIFT, L=5.00 DMCI2: DRIFT, L=5.00 DMCI3: DRIFT, L=5.00 DMCI4: DRIFT, L=4.00 ! Quadrupoles QMCI1: QUADRUPOLE, L=QLENGTH, K1=K1.QMCI1 QMCI2: QUADRUPOLE, L=QLENGTH, K1=K1.QMCI2 QMCI3: QUADRUPOLE, L=QLENGTH, K1=K1.QMCI3 QMCI4: QUADRUPOLE, L=QLENGTH, K1=K1.QMCI4 ! Beam lines MCI: LINE=( DMCI1, & QMCI1, DMCI2, & QMCI2, DMCI3, & QMCI3, DMCI4, & QMCI4 ) !--------1---------2---------3---------4---------5---------6---------7---------8 ! MIR (matching from injection to rf) !--------1---------2---------3---------4---------5---------6---------7---------8 ! Drifts DMIR1: DRIFT, L=4.00 DMIR2: DRIFT, L=7.50 DMIR3: DRIFT, L=5.00 DMIR4: DRIFT, L=8.00 ! Quadrupoles QMIR1: QUADRUPOLE, L=QLENGTH, K1=K1.QMIR1 QMIR2: QUADRUPOLE, L=QLENGTH, K1=K1.QMIR2 QMIR3: QUADRUPOLE, L=QLENGTH, K1=K1.QMIR3 QMIR4: QUADRUPOLE, L=QLENGTH, K1=K1.QMIR4 ! Beam lines MIR: LINE=( QMIR1, DMIR1, & QMIR2, DMIR2, & QMIR3, DMIR3, & QMIR4, DMIR4 ) !--------1---------2---------3---------4---------5---------6---------7---------8 ! RING !--------1---------2---------3---------4---------5---------6---------7---------8 MRK1: MARKER MRK2: MARKER MRK3: MARKER MRK4: MARKER STRT : LINE=( ARC0, MRK1, DSP, & 6*PHT, MPC, & 4*CCH, MCI, & MRK2, INJ, MRK3, MIR, & 2*RFC, & RFX, MRD, & DLG, MDW, & 22*WGC, PSD, MRK4, & ARCM ) HRING: LINE=( MRK1, DSP, & 6*PHT, MPC, & 4*CCH, MCI, & MRK2, INJ, MRK3, MIR, & 2*RFC, & RFX, MRD, & DLG, MDW, & 22*WGC, PSD, MRK4, & ARCM, & ARC0, & 18*ARC5, & 2*ARC0 ) RING: LINE=( HRING, HRING ) HRNGI: LINE=( MIR, & 2*RFC, & RFX, MRD, & DLG, MDW, & 22*WGC, PSD, & ARCM, & ARC0, & 18*ARC5, & 2*ARC0, DSP, & 6*PHT, MPC, & 4*CCH, MCI, & INJ ) RNGI: LINE=( MRK1, HRNGI, HRNGI, MRK2 ) RETURN