Esempio n. 1
0
def readLattice(file_name, lattice_name):
    lattice = TEAPOT_Lattice("lattice")

    print "Generate Lattice using MADX (new) parser from .SEQ file"

    lattice.readMADX(file_name, lattice_name)

    lattice.setUseRealCharge(1)  # change to + 1 for proton

    return lattice
Esempio n. 2
0
def load_lattice(file_name, lattice_name, new_parser=False):

    lattice = TEAPOT_Lattice("lattice")

    if new_parser:
        print "Generate Lattice using MADX (new) parser from .SEQ file"
        lattice.readMADX(file_name, lattice_name)
    else:
        print "Generate Lattice using MAD parser from .LAT file"
        lattice.readMAD(file_name, lattice_name)
    lattice.setUseRealCharge(useCharge=1)
    return lattice
Esempio n. 3
0
lostbunch.addPartAttr("LostParticleAttributes")

energy = 1
syncPart = b.getSyncParticle()
syncPart.kinEnergy(energy)
EE = syncPart.kinEnergy()
print(EE)
#---------------------------------------------Make a Teapot Lattice----------------------------------
print "Generate Lattice."

lattice = TEAPOT_Lattice("lattice")
#lattice.readMADX("fodo_thin.seq","fodo")
lattice.readMADX("FODO_x6.seq", "fodo")
#lattice.readMADX("cryring.madx","cryring")
#lattice.readMADX("sis100_full_thin_fix.seq","sis100ring")
lattice.setUseRealCharge(useCharge=1)

#---------------------------------------------SPLIT LONG ELEMENTS--------------------------------------

for node in lattice.getNodes():
    if node.getLength() > 1.0:
        node.setnParts(int(node.getLength() // 1 + 1))

#------------------------------------------------------------------------------------------------------

matrix_lattice = TEAPOT_MATRIX_Lattice(lattice, b)

TwissDataX0, TwissDataY0 = matrix_lattice.getRingTwissDataX(
), matrix_lattice.getRingTwissDataY()

beta_x0 = np.transpose(TwissDataX0[-1])