#=============================================================== # 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):
#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: