Esempio n. 1
0
#===============================================================
#              MAIN PROGRAM
#===============================================================
# read the accelerator & make the sequence
accl = XMLDataManager.loadDefaultAccelerator()

#====== Let's construct accelerator ===========
sclMed = accl.getSequence("SCLMed")
sclHigh = accl.getSequence("SCLHigh")
hebt1 = accl.getSequence("HEBT1")

#+++++++++++++++++++++++++++++++++++++++++++++
accSeq = AcceleratorSeqCombo("SEQUENCE", [sclMed, sclHigh, hebt1])

#----- all RF cavities
cavs = accSeq.getAllNodesOfType(RfCavity.s_strType)
for cav in cavs:
    print "debug cav=", cav.getId(), " phase=", cav.getDfltCavPhase(
    ), "  1st gap=", cav.getGaps()[0], " phase=", cav.getGaps(
    )[0].getGapDfltPhase()

bpms = accSeq.getAllNodesOfType("BPM")
bpm_names_dict = {}
for bpm in bpms:
    bpm_names_dict[bpm.getId()] = bpm
    #print "debug bpm=",bpm.getId()," pos[m]=",accSeq.getPosition(bpm)," freq.=",bpm.getBPMBucket().getFrequency()

#---- array of all 1st RF gaps
rf_gaps = []
for cav in cavs:
    rf_gaps.append(cav.getGaps()[0])

#+++++++++++++++++++++++++++++++++++++++++++++
accSeq = AcceleratorSeqCombo("SEQUENCE", [ccl1,ccl2,ccl3,ccl4])
"""
DTL1 = accl.getSequence("DTL1")
DTL2 = accl.getSequence("DTL2")
DTL3 = accl.getSequence("DTL3")
DTL4 = accl.getSequence("DTL4")
DTL5 = accl.getSequence("DTL5")
DTL6 = accl.getSequence("DTL6")

#+++++++++++++++++++++++++++++++++++++++++++++
accSeq = AcceleratorSeqCombo("SEQUENCE", [DTL1, DTL2, DTL3, DTL4, DTL5, DTL6])

bpms = accSeq.getAllNodesOfType("BPM")
for bpm in bpms:
    print "debug bpm=", bpm.getId(), " pos[m]=", accSeq.getPosition(bpm)

print "=============================================="

dchs = accSeq.getAllNodesOfType("DCH")
for dch in dchs:
    print "debug dch=", dch.getId(), "  pos[m]=", accSeq.getPosition(dch)
    #---- initial set all dch to zero as a test
    #---- dch.setField(0.)

print "=============================================="


def getBPM_X_Arr(bpms):
Esempio n. 3
0
#accSeq = AcceleratorSeqCombo("SEQUENCE", [ccl1,ccl2,ccl3,ccl4])

#DTL1 = accl.getSequence("DTL1")
#DTL2 = accl.getSequence("DTL2")
#DTL3 = accl.getSequence("DTL3")
#DTL4 = accl.getSequence("DTL4")
#DTL5 = accl.getSequence("DTL5")
#DTL6 = accl.getSequence("DTL6")

#+++++++++++++++++++++++++++++++++++++++++++++
accSeq = AcceleratorSeqCombo("SEQUENCE", [DTL6, ccl1, ccl2, ccl3, ccl4])
accSeq2 = AcceleratorSeqCombo("SEQUENCE", [ccl1, ccl2, ccl3, ccl4])

BPMPos = []

bpms = accSeq.getAllNodesOfType("BPM")
for bpm in bpms:
    print "debug bpm=", bpm.getId(), " pos[m]=", accSeq.getPosition(bpm)
    BPMPos.append(accSeq.getPosition(bpm))
    print "BPM Position", BPMPos
print "=============================================="

bpm_y_min = []
bpm_y_max = []
dcvs = accSeq2.getAllNodesOfType("DCV")
for dcv in dcvs:
    print "debug dcv=", dcv.getId(), "  pos[m]=", accSeq2.getPosition(dcv)
    #---- initial set all dcv to zero as a test
    dcv.setField(-.012)
    time.sleep(1.)
    for bpm in bpms: