Initial Commit
This commit is contained in:
+2
-3
@@ -1,5 +1,4 @@
|
||||
.idea/modules.xml
|
||||
.idea/vcs.xml
|
||||
.idea/workspace.xml
|
||||
|
||||
/ReferenceDistribution/dist.sdds
|
||||
/.idea/
|
||||
/Runs/
|
||||
|
||||
+12
-2
@@ -9,7 +9,8 @@ from PyQt5 import QtWidgets,QtGui
|
||||
from ui.ElegantToolsGui import Ui_ElegantGUI
|
||||
from distribution import Distribution
|
||||
from plot import ElegantPlot
|
||||
#from model import Model
|
||||
from model import Model
|
||||
from track import Track
|
||||
#from machine import Machine
|
||||
#from reference import ReferenceManager
|
||||
#from sandbox import Sandbox
|
||||
@@ -27,17 +28,26 @@ class ElegantTools(QtWidgets.QMainWindow, Ui_ElegantGUI):
|
||||
|
||||
self.plot = ElegantPlot(parent=self)
|
||||
self.plot.show()
|
||||
self.model = Model(phase=phase,parent=self)
|
||||
self.track = Track(parent=self)
|
||||
|
||||
|
||||
self.dists={}
|
||||
self.distMapping={}
|
||||
|
||||
self.preferredDist = None
|
||||
self.UIDistLoad.clicked.connect(self.loadDist)
|
||||
self.UIDistSave.clicked.connect(self.saveDist)
|
||||
self.UIDistBlurr.clicked.connect(self.addBlurr)
|
||||
self.UIDistCenter.clicked.connect(self.centerDist)
|
||||
self.UIDistCut.clicked.connect(self.cutDist)
|
||||
self.UIDistInput.clicked.connect(self.setPreferredDist)
|
||||
|
||||
def setPreferredDist(self):
|
||||
self.preferredDist = self.getDist()
|
||||
|
||||
def getDist(self):
|
||||
if self.UIDistList.count() == 0:
|
||||
return None
|
||||
tag = self.UIDistList.currentText()
|
||||
return self.dists[self.distMapping[tag]]
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+15
-10
@@ -13,7 +13,8 @@ class Distribution:
|
||||
self.parameters = None
|
||||
self.loadDist()
|
||||
|
||||
|
||||
def getQ(self):
|
||||
return self.dist.parameterData[self.parameters.index('Charge')][0]
|
||||
|
||||
def plotLPS(self):
|
||||
x = self.dist.columnData[self.columns.index('t')][0]
|
||||
@@ -31,16 +32,24 @@ class Distribution:
|
||||
Q = self.dist.parameterData[self.parameters.index('Charge')][0]
|
||||
if Q < 1e-15:
|
||||
Q = float(str(self.parent.UIDistCharge.text()))*1e-12
|
||||
for i in range(7):
|
||||
data = self.dist.columnData[i]
|
||||
print(type(data),len(data))
|
||||
print(type(data[0]), len(data[0]))
|
||||
self.dist.setParameterValue('Charge',Q)
|
||||
self.analyseBeam(self.filename,Q)
|
||||
|
||||
self.plotLPS()
|
||||
|
||||
|
||||
def analyseBeamShort(self,filename):
|
||||
output = 'Runs/analysebeam.sdds'
|
||||
subprocess.run(['sddsanalyzebeam', filename, output])
|
||||
fields = ['betax', 'betay', 'alphax', 'alphay', 'pAverage']
|
||||
out = sdds.load(output)
|
||||
res={}
|
||||
for i ,field in enumerate(fields):
|
||||
idx = out.columnName.index(field)
|
||||
res[field]=out.columnData[idx][0][0]
|
||||
res['Q']=self.dist.parameterData[self.parameters.index('Charge')][0]
|
||||
del out
|
||||
return res
|
||||
|
||||
def analyseBeam(self,filename,Q):
|
||||
output = 'Runs/analysebeam.sdds'
|
||||
@@ -60,7 +69,7 @@ class Distribution:
|
||||
val=scl[i]*out.columnData[idx][0][0]
|
||||
self.parent.UIDistAnalysis.appendPlainText('%s: %7.3f (%s)' % (names[i],val,units[i]))
|
||||
self.parent.UIDistAnalysis.appendPlainText('Charge: %7.3f (pC)' % (Q*1e12))
|
||||
|
||||
del out
|
||||
|
||||
def addBlurr(self):
|
||||
p=self.dist.columnData[self.columns.index('p')][0]
|
||||
@@ -108,10 +117,6 @@ class Distribution:
|
||||
x.parameterData=self.dist.parameterData
|
||||
x.parameterDefinition = self.dist.parameterDefinition
|
||||
x.columnName=self.dist.columnName
|
||||
for i in range(7):
|
||||
data = self.dist.columnData[i]
|
||||
print(type(data),len(data))
|
||||
print(type(data[0]), len(data[0]))
|
||||
x.columnData=[self.dist.columnData[i] for i in range(len(self.dist.columnName))]
|
||||
x.columnDefinition=self.dist.columnDefinition
|
||||
x.save(filename)
|
||||
|
||||
+370
@@ -0,0 +1,370 @@
|
||||
import math
|
||||
from onlinemodel.core.apptemplate import ApplicationTemplate
|
||||
|
||||
# Elegant Interface
|
||||
|
||||
class Lattice(ApplicationTemplate):
|
||||
|
||||
def __init__(self,sessionID='.'):
|
||||
ApplicationTemplate.__init__(self)
|
||||
|
||||
self.wpath='ReferenceFiles' # path for reference files
|
||||
self.fid = 0
|
||||
self.lsc = 0 # flag whether lsc is enabled
|
||||
self.csr = 0 # flag whether csr is enabled or not
|
||||
self.wakebins=0 # automatic calculation of
|
||||
self.charge = 200e-12 # default charge in the lattice
|
||||
self.dump = [] # diagnostics location where to dump particle distribution
|
||||
|
||||
self.seq=[]
|
||||
self.driftcount = 1 # drift counter
|
||||
|
||||
self.lscbins=100 # number of bins for lsc calculation
|
||||
self.csrbins=100 # number of bins for CSR calculation
|
||||
self.csrmaxlen=10. # distance over which the CSR wake is considered after a dipole
|
||||
self.csrlen=0 # running variable to count distance after last bend
|
||||
|
||||
|
||||
self.center=[] # location where the beam is centered due to CSR kicks
|
||||
self.Distribution = 1
|
||||
|
||||
def openLatticeStream(self,path,name):
|
||||
filename='%s/%s.lat' % (path,name)
|
||||
# self.path=path
|
||||
self.path='.'
|
||||
self.savepath=path
|
||||
self.seq=[]
|
||||
self.fid=open(filename,'w')
|
||||
self.driftcount=1
|
||||
self.write('Q: CHARGE, TOTAL=%e\n' % self.charge)
|
||||
self.write('ALTER: CENTER, DELTA=1,T=1\n') # put the beam on the right energy
|
||||
return filename
|
||||
|
||||
|
||||
def closeLatticeStream(self):
|
||||
self.fid.close()
|
||||
|
||||
|
||||
|
||||
# routines to write lattice
|
||||
|
||||
def setCSR(self):
|
||||
self.csrlen=self.csrmaxlen
|
||||
|
||||
def isType(self,name):
|
||||
if (name.find('elegant')>-1):
|
||||
return 1
|
||||
else:
|
||||
return 0
|
||||
|
||||
def write(self,line):
|
||||
self.fid.write(line)
|
||||
|
||||
|
||||
def writeLine(self,line,seq):
|
||||
|
||||
lc=1
|
||||
name=line.Name
|
||||
|
||||
seqloop=seq
|
||||
if len(name)==7:
|
||||
seqloop=self.seq
|
||||
|
||||
if len(name) < 1:
|
||||
name='SwissFEL'
|
||||
|
||||
self.write("\n%s.Start: MARKER\n" % (name))
|
||||
secend = name+'.End'
|
||||
if secend in self.dump:
|
||||
print('Adding dump in Elegant output for',name)
|
||||
self.write('%s.End: WATCH, FILENAME="%%s.%s.End.sdds", MODE=COORD\n' % (name,name))
|
||||
else:
|
||||
self.write("%s.End: MARKER\n" % (name))
|
||||
|
||||
if (name=="SwissFEL"):
|
||||
self.write("\n%s: Line=(Q, ALTER, %s.Start, " % (name,name))
|
||||
else:
|
||||
self.write("\n%s: Line=(%s.Start, " % (name,name))
|
||||
for ele in seqloop:
|
||||
# print ele
|
||||
if isinstance(ele,str):
|
||||
self.write("%s, " % (ele))
|
||||
else:
|
||||
self.write("%s, " % (ele['Name']))
|
||||
lc=lc+1
|
||||
if (lc>5):
|
||||
self.write("&\n\t")
|
||||
lc=0
|
||||
self.write("%s.End)\n\n" % (name))
|
||||
|
||||
if len(name)==7:
|
||||
del self.seq[:]
|
||||
|
||||
|
||||
def writeDrift(self,l):
|
||||
if l <= 0 :
|
||||
return 0
|
||||
name="Drift%4.4d" % (self.driftcount)
|
||||
if self.csrlen > 0:
|
||||
self.write("%s.csr: CSRDRIFT, L=%f, DZ=0.1, USE_STUPAKOV=1, CSR=%d\n" % (name,l,self.csr))
|
||||
self.write("%s.lsc: LSCDRIFT, L=0, LEFFECTIVE=%f, BINS=%d, SMOOTHING=1, LSC=%d\n" % (name,l,self.lscbins,self.lsc))
|
||||
self.write("%s: LINE=(%s.csr,%s.lsc)\n" % (name,name,name))
|
||||
self.csrlen=self.csrlen-l
|
||||
else:
|
||||
self.write("%s: LSCDRIFT, L=%f, LEFFECTIVE=%f, BINS=%d, SMOOTHING=1, LSC=%d\n" % (name,l,l,self.lscbins,self.lsc))
|
||||
self.seq.append(name)
|
||||
self.driftcount=self.driftcount+1
|
||||
return name
|
||||
|
||||
def writeMarker(self,ele):
|
||||
if 'ALIG' in ele.Name and 'dy' in ele.__dict__.keys():
|
||||
self.write('%s: MALIGN, DY=-%f \n' % (ele.Name,ele.dy))
|
||||
else:
|
||||
self.write('%s: MARK \n' % (ele.Name))
|
||||
self.seq.append(ele.Name)
|
||||
|
||||
|
||||
def writeVacuum(self,ele):
|
||||
ds=ele.sRef+0.5*ele.getLength();
|
||||
if ds>0:
|
||||
self.writeDrift(ds)
|
||||
self.writeMarker(ele)
|
||||
ds=ele.getResLength()-ele.sRef-0.5*ele.getLength();
|
||||
if ds>0:
|
||||
self.writeDrift(ds)
|
||||
|
||||
|
||||
def writeDiagnostic(self,ele):
|
||||
Seval=ele.Seval
|
||||
if (Seval<0):
|
||||
Seval=0.5*ele.Length
|
||||
ds=ele.sRef+Seval;
|
||||
if ds>0:
|
||||
self.writeDrift(ds)
|
||||
if ele.Name in self.center:
|
||||
print('Adding center in Elegant output for',ele.Name)
|
||||
self.write('%s_CENTER: CENTER\n' % ele.Name)
|
||||
self.seq.append('%s_CENTER' % ele.Name)
|
||||
|
||||
if ele.Name in self.dump:
|
||||
print('Adding dump in Elegant output for',ele.Name)
|
||||
self.write('%s: WATCH, FILENAME="%%s.%s.sdds", MODE=COORD\n' % (ele.Name,ele.Name))
|
||||
self.seq.append(ele.Name)
|
||||
else:
|
||||
self.writeMarker(ele)
|
||||
|
||||
ds=ele.getResLength()-ds
|
||||
if ds>0:
|
||||
self.writeDrift(ds)
|
||||
|
||||
def writeCorrector(self,ele):
|
||||
|
||||
corx=0
|
||||
cory=0
|
||||
if 'corx' in ele.__dict__:
|
||||
corx=ele.corx
|
||||
if 'cory' in ele.__dict__:
|
||||
cory=ele.cory
|
||||
|
||||
if 'MADthin' in ele.__dict__:
|
||||
if 'MADshift' in ele.__dict__:
|
||||
ds=ele.Length*0.5+ele.MADshift
|
||||
self.writeDrift(ds)
|
||||
self.write("%s: KICKER, L=%f, HKICK=%e,VKICK=%e\n" % (ele.Name,0,corx,cory))
|
||||
self.seq.append(ele.Name)
|
||||
return
|
||||
|
||||
if (ele.sRef>0):
|
||||
self.writeDrift(ele.sRef)
|
||||
if self.lsc==0 or ele.getLength()==0:
|
||||
self.write("%s: KICKER, L=%f, HKICK=%e,VKICK=%e\n" % (ele.Name,ele.getLength(),corx,cory))
|
||||
self.seq.append(ele.Name)
|
||||
else:
|
||||
self.write("%s.cor: KICKER, L=%f, HKICK=%e,VKICK=%e\n" % (ele.Name,ele.getLength(),corx,cory))
|
||||
self.write("%s.lsc: LSCDRIFT, L=0, LEFFECTIVE=%f, BINS=%d, SMOOTHING=1, LSC=%d\n" % (ele.Name,ele.getLength(),self.lscbins,self.lsc))
|
||||
self.write("%s: LINE=(%s.cor,%s.lsc)\n" % (ele.Name,ele.Name,ele.Name))
|
||||
self.seq.append(ele.Name)
|
||||
ds=ele.getResLength()-ele.getLength()-ele.sRef
|
||||
if ds > 0:
|
||||
self.writeDrift(ds)
|
||||
|
||||
|
||||
def writeSextupole(self,ele):
|
||||
if (ele.sRef>0):
|
||||
self.writeDrift(ele.sRef)
|
||||
if self.lsc==0:
|
||||
self.write("%s: SEXTUPOLE, L=%f, K2=%e, Tilt=%f\n" % (ele.Name,ele.getLength(),ele.k2,ele.Tilt))
|
||||
self.seq.append(ele.Name)
|
||||
else:
|
||||
self.write("%s.sex: SEXTUPOLE, L=%f, K2=%e, Tilt=%f\n" % (ele.Name,ele.getLength(),ele.k2,ele.Tilt))
|
||||
self.write("%s.lsc: LSCDRIFT, L=0, LEFFECTIVE=%f, BINS=%d, SMOOTHING=1, LSC=%d\n" % (ele.Name,ele.getLength(),self.lscbins,self.lsc))
|
||||
self.fid.write("%s: LINE=(%s.sex,%s.lsc)\n" % (ele.Name,ele.Name,ele.Name))
|
||||
self.seq.append(ele.Name)
|
||||
ds=ele.getResLength()-ele.getLength()-ele.sRef
|
||||
if ds > 0:
|
||||
self.writeDrift(ds)
|
||||
|
||||
|
||||
|
||||
def writeQuadrupole(self,ele):
|
||||
if (ele.sRef>0):
|
||||
self.writeDrift(ele.sRef)
|
||||
if self.lsc!=0 or ('corx' in ele.__dict__) or 'cory' in ele.__dict__:
|
||||
locseq=[]
|
||||
if self.lsc>0:
|
||||
self.write("%s.lsc: LSCDRIFT, L=0, LEFFECTIVE=%f, BINS=%d, SMOOTHING=1, LSC=%d\n" % (ele.Name,ele.getLength(),self.lscbins,self.lsc))
|
||||
locseq.append("%s.lsc" % (ele.Name))
|
||||
if ('corx' in ele.__dict__) or 'cory' in ele.__dict__:
|
||||
corx=0
|
||||
cory=0
|
||||
if 'corx' in ele.__dict__:
|
||||
corx=ele.corx
|
||||
if 'cory' in ele.__dict__:
|
||||
corx=ele.cory
|
||||
self.write("%s.q1: QUADRUPOLE, L=%f, K1=%e, Tilt=%f\n" % (ele.Name,ele.getLength()*0.5,ele.k1,ele.Tilt))
|
||||
self.write("%s.cor: KICKER, L=0, HKICK=%e,VKICK=%e\n" % (ele.Name,corx,cory))
|
||||
self.write("%s.q2: QUADRUPOLE, L=%f, K1=%e, Tilt=%f\n" % (ele.Name,ele.getLength()*0.5,ele.k1,ele.Tilt))
|
||||
locseq.append("%s.q1" % (ele.Name))
|
||||
locseq.append("%s.cor" % (ele.Name))
|
||||
locseq.append("%s.q2" % (ele.Name))
|
||||
else:
|
||||
self.write("%s.q: QUADRUPOLE, L=%f, K1=%e, Tilt=%f\n" % (ele.Name,ele.getLength(),ele.k1,ele.Tilt))
|
||||
locseq.append("%s.q" % (ele.Name))
|
||||
self.fid.write("%s: LINE=(%s" % (ele.Name,locseq[0]))
|
||||
for p in locseq[1:len(locseq)]:
|
||||
self.fid.write(",%s" % p)
|
||||
self.fid.write(")\n")
|
||||
self.seq.append(ele.Name)
|
||||
else:
|
||||
self.write("%s: QUADRUPOLE, L=%f, K1=%e, Tilt=%f\n" % (ele.Name,ele.getLength(),ele.k1,ele.Tilt))
|
||||
self.seq.append(ele.Name)
|
||||
ds=ele.getResLength()-ele.getLength()-ele.sRef
|
||||
if ds > 0:
|
||||
self.writeDrift(ds)
|
||||
|
||||
|
||||
def writeBend(self,ele):
|
||||
if (ele.sRef>0):
|
||||
self.writeDrift(ele.sRef)
|
||||
Lpath=ele.getLength()
|
||||
angrad=ele.angle*math.asin(1)/90
|
||||
angradcor=angrad
|
||||
if 'cor' in ele.__dict__:
|
||||
angradcor=angrad+ele.cor
|
||||
if (self.lsc!=0):
|
||||
self.write("%s.lsc: LSCDRIFT, L=0, LEFFECTIVE=%f, BINS=%d, SMOOTHING=1, LSC=%d\n" % (ele.Name,Lpath,self.lscbins,self.lsc))
|
||||
self.seq.append("%s.lsc" % ele.Name)
|
||||
self.write("%s.b: CSRCSBEND, L=%f, ANGLE=%f, &\n" % (ele.Name,Lpath,angradcor))
|
||||
self.write("\tE1=%f, E2=%f, TILT=%f, &\n" % (ele.e1*angrad,ele.e2*angrad,ele.Tilt))
|
||||
self.write("\tHGAP=0.015, FINT=0.5, NONLINEAR=1, N_KICKS=10,INTEGRATION_ORDER=4, &\n")
|
||||
self.write("\tBINS=%d,SG_HALFWIDTH=2, ISR=%d, SYNCH_RAD=%d, CSR=%d\n" % (self.csrbins,self.csr,self.csr,self.csr))
|
||||
self.write("%s: LINE=(%s.lsc,%s.b)\n" % (ele.Name,ele.Name,ele.Name))
|
||||
self.seq.append(ele.Name)
|
||||
else:
|
||||
self.write("%s: CSRCSBEND, L=%f, ANGLE=%f, &\n" % (ele.Name,Lpath,angradcor))
|
||||
self.write("\tE1=%f, E2=%f, TILT=%f, &\n" % (ele.e1*angrad,ele.e2*angrad,ele.Tilt))
|
||||
self.write("\tHGAP=0.015, FINT=0.5, NONLINEAR=1, N_KICKS=10,INTEGRATION_ORDER=4, &\n")
|
||||
self.write("\tBINS=%d,SG_HALFWIDTH=2, ISR=%d, SYNCH_RAD=%d, CSR=%d\n" % (self.csrbins,self.csr,self.csr,self.csr))
|
||||
self.seq.append(ele.Name)
|
||||
if abs(angrad)>0:
|
||||
self.setCSR()
|
||||
ds=ele.getResLength()-ele.getLength()-ele.sRef
|
||||
if ds > 0:
|
||||
self.writeDrift(ds)
|
||||
|
||||
|
||||
def writeUndulator(self,ele):
|
||||
pi=2*math.asin(1)
|
||||
Nu=round(ele.getLength()*ele.ku/pi)
|
||||
r=3e8/511000/2/pi/100;
|
||||
Bu=ele.K*ele.ku*0.01/2/pi/r;
|
||||
LaserHeater=0
|
||||
if 'UPHS' in ele.Name:
|
||||
ele.K=0
|
||||
if 'UDLY' in ele.Name:
|
||||
ele.K=0
|
||||
if 'Power' in ele.__dict__:
|
||||
if ele.Power>0:
|
||||
LaserHeater=0 ######## disable laser modulator, since energy spread is not correct anyhow
|
||||
if ele.sRef>0:
|
||||
self.writeDrift(ele.sRef)
|
||||
if ele.K==0:
|
||||
self.write("%s: LSCDRIFT, L=%f, LEFFECTIVE=%f, BINS=%d, SMOOTHING=1, LSC=%d\n" % (ele.Name,ele.getLength(),ele.getLength(),self.lscbins,self.lsc))
|
||||
self.seq.append(ele.Name)
|
||||
# add dechirper here
|
||||
if 'UDCP' in ele.Name:
|
||||
wake=Dechirper()
|
||||
wake.getWake(ele.gap, ele.Name,self.savepath)
|
||||
print('Write wakefile for %s with gap: %f mm' % (ele.Name,ele.gap*1e3))
|
||||
self.write('%s_LW : WAKE, INPUTFILE = "%s/wake_%s.sdds", CHANGE_P0 = 1, &\n' % (ele.Name,self.path,ele.Name))
|
||||
self.write('\t TCOLUMN="t",WCOLUMN="W", INTERPOLATE=1, FACTOR = %f, N_BINS=%d, SMOOTHING=1 \n'% (ele.getLength(),self.wakebins))
|
||||
self.seq.append('%s_LW' % ele.Name)
|
||||
|
||||
if 'DECHIRPER-V' in ele.Baugruppe:
|
||||
self.write('%s_DW : TRWAKE, INPUTFILE = "%s/wake_%s.sdds", &\n' % (ele.Name,self.path,ele.Name))
|
||||
self.write('\t TCOLUMN="t",WXCOLUMN="WD", WYCOLUMN="WD", XFACTOR = 0, YFACTOR = %f, &\n' % (ele.getLength()))
|
||||
self.write('\t INTERPOLATE=1, N_BINS=%d, SMOOTHING=1 \n'% self.wakebins)
|
||||
self.write('%s_QW : TRWAKE, INPUTFILE = "%s/wake_%s.sdds", &\n' % (ele.Name,self.path,ele.Name))
|
||||
self.write('\t TCOLUMN="t",WXCOLUMN="WQP", WYCOLUMN="WQ", XFACTOR = %f, YFACTOR = %f, &\n' % (ele.getLength(),ele.getLength()))
|
||||
self.write('\t INTERPOLATE=1, N_BINS=%d, SMOOTHING=1, & \n'% self.wakebins)
|
||||
self.write('\t X_DRIVE_EXPONENT=0, Y_DRIVE_EXPONENT = 0, X_PROBE_EXPONENT = 1, Y_PROBE_EXPONENT = 1\n')
|
||||
self.seq.append('%s_DW' % ele.Name)
|
||||
self.seq.append('%s_QW' % ele.Name)
|
||||
elif 'DECHIRPER-H' in ele.Baugruppe:
|
||||
self.write('%s_DW : TRWAKE, INPUTFILE = "%s/wake_%s.sdds", &\n' % (ele.Name,self.path,ele.Name))
|
||||
self.write('\t TCOLUMN="t",WXCOLUMN="WD", WYCOLUMN="WD", XFACTOR = %f, YFACTOR = 0, &\n' % (ele.getLength()))
|
||||
self.write('\t INTERPOLATE=1, N_BINS=%d, SMOOTHING=1 \n'% self.wakebins)
|
||||
self.write('%s_QW : TRWAKE, INPUTFILE = "%s/wake_%s.sdds", &\n' % (ele.Name,self.path,ele.Name))
|
||||
self.write('\t TCOLUMN="t",WXCOLUMN="WQ", WYCOLUMN="WQP", XFACTOR = %f, YFACTOR = %f, &\n' % (ele.getLength(),ele.getLength()))
|
||||
self.write('\t INTERPOLATE=1, N_BINS=%d, SMOOTHING=1, & \n'% self.wakebins)
|
||||
self.write('\t X_DRIVE_EXPONENT=0, Y_DRIVE_EXPONENT = 0, X_PROBE_EXPONENT = 1, Y_PROBE_EXPONENT = 1\n')
|
||||
self.seq.append('%s_DW' % ele.Name)
|
||||
self.seq.append('%s_QW' % ele.Name)
|
||||
|
||||
ds=ele.getResLength()-ele.getLength()-ele.sRef
|
||||
if ds>0:
|
||||
self.writeDrift(ds)
|
||||
return
|
||||
name=ele.Name
|
||||
if self.lsc!=0:
|
||||
self.write("%s.lsc: LSCDRIFT, L=0, LEFFECTIVE=%f, BINS=%d, SMOOTHING=1, LSC=%d\n" % (ele.Name,ele.getLength(),self.lscbins,self.lsc))
|
||||
self.seq.append("%s.lsc" % ele.Name)
|
||||
name="%s.wig" % ele.Name
|
||||
if LaserHeater==0:
|
||||
self.write("%s : WIGGLER, L=%f, K=%f, POLES=%d, TILT=%f\n" % (name,ele.getLength(),ele.K,Nu,ele.Tilt))
|
||||
else:
|
||||
self.write("%s : LSRMDLTR, L=%f, PERIODS=%d, BU=%f, &\n" % (name, ele.getLength(),Nu/2,Bu));
|
||||
self.write("\t LASER_W0=%e, LASER_PEAK_POWER=%e, &\n" %(ele.Waist,ele.Power));
|
||||
self.write("\t N_STEPS=%d, ACCURACY=0.001, POLE_FACTOR1=1, POLE_FACTOR2=1,POLE_FACTOR3=1\n" % (Nu*60));
|
||||
self.seq.append(name)
|
||||
ds=ele.getResLength()-ele.getLength()-ele.sRef
|
||||
if ds>0:
|
||||
self.writeDrift(ds)
|
||||
|
||||
|
||||
def writeRF(self,ele):
|
||||
|
||||
if ele.sRef>0:
|
||||
self.writeDrift(ele.sRef)
|
||||
if ele.Tag=="RACC":
|
||||
self.write('%s : RFCW, FREQ=%f, CELL_LENGTH=1.0, &\n' % (ele.Name,ele.Frequency))
|
||||
self.write('\t L=%f, VOLT=%e, PHASE= %f, &\n' % (ele.getLength(),ele.Gradient*ele.getLength(),ele.Phase))
|
||||
self.write('\t CHANGE_P0=1, END1_FOCUS=1, END2_FOCUS=1, &\n');
|
||||
self.write('\t BODY_FOCUS_MODEL="NONE",INTERPOLATE=1, N_BINS=%d, SMOOTHING=1, &\n' % (self.wakebins));
|
||||
self.write('\t ZWAKEFILE="%s/wake_l_%s-band.sdds", &\n' % (self.wpath,ele.Band));
|
||||
self.write('\t TRWAKEFILE="%s/wake_t_%s-band.sdds", &\n' % (self.wpath,ele.Band));
|
||||
self.write('\t LSC=%d, LSC_BINS=%d, N_KICKS=10, &\n' % (self.lsc,self.lscbins));
|
||||
self.write('\t TCOLUMN="t",WXCOLUMN="W", WYCOLUMN="W", WZCOLUMN="W"\n');
|
||||
else:
|
||||
if ele.Band=='S':
|
||||
SWave=1
|
||||
else:
|
||||
SWave=0
|
||||
self.write('%s : RFDF, FREQUENCY=%f, STANDING_WAVE=%d, TILT=%f, &\n' % (ele.Name,ele.Frequency,SWave,math.asin(1)))
|
||||
self.write('\t L=%f, VOLTAGE=%e, PHASE= %f\n' % (ele.getLength(),ele.Gradient*ele.getLength(),ele.Phase))
|
||||
self.seq.append(ele.Name)
|
||||
ds=ele.getResLength()-ele.getLength()-ele.sRef
|
||||
if ds>0:
|
||||
self.writeDrift(ds)
|
||||
|
||||
|
||||
@@ -0,0 +1,146 @@
|
||||
import json
|
||||
import numpy as np
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
from onlinemodel.core import Facility
|
||||
from lattice import Lattice
|
||||
|
||||
class Model:
|
||||
def __init__(self, phase=0, parent=None):
|
||||
print('Initializing online model ...')
|
||||
self.phase = phase # current planned future
|
||||
self.parent=parent
|
||||
self.om = Facility(init=1, alt = phase)
|
||||
self.defineDumpPoints()
|
||||
self.modelPath=''
|
||||
self.initModel('OnlineModelLattices/ReferenceSetting.json')
|
||||
self.parent.UIUpdateRFSettings.clicked.connect(self.updateRF)
|
||||
|
||||
|
||||
def writeLattice(self,project='SwissFEL',start='SINLH01',end='SARBD01',lsc=True,csr=True,Q=200e-12,dump=[]):
|
||||
start,end=self.checkRange(start,end)
|
||||
self.setBranch(end)
|
||||
lat=Lattice()
|
||||
lat.charge = Q
|
||||
lat.dump = dump
|
||||
print(dump)
|
||||
if lsc:
|
||||
lat.lsc=1
|
||||
else:
|
||||
lat.lsc=0
|
||||
if csr:
|
||||
lat.csr=1
|
||||
else:
|
||||
lat.csr=0
|
||||
filename = lat.openLatticeStream('Runs', project)
|
||||
self.om.exportBranch(lat)
|
||||
lat.closeLatticeStream()
|
||||
return filename
|
||||
|
||||
def checkRange(self,start,end):
|
||||
if self.om.getSection(start) is None:
|
||||
print('Invalid staring point for tracking. Setting to SINLH01')
|
||||
start='SINLH01'
|
||||
if self.om.getSection(end) is None:
|
||||
print('Invalid end point for tracking. Setting to SARBD02')
|
||||
end= 'SARBD01'
|
||||
return start,end
|
||||
|
||||
def setBranch(self,end):
|
||||
destination = 'ARAMIS'
|
||||
if 'SPO' in end:
|
||||
destination = 'PORTHOS'
|
||||
elif 'SAT' in end:
|
||||
destination = 'ATHOS'
|
||||
elif 'S10BD' in end or 'SIN' in end:
|
||||
destination = 'INJECTOR'
|
||||
self.om.setBranch(destination,'SINLH01',end)
|
||||
self.order=self.om.getBranchElements()
|
||||
|
||||
|
||||
def initModel(self, modelPath):
|
||||
self.modelPath = modelPath
|
||||
print('Updating model with settings:',self.modelPath)
|
||||
with open(modelPath, 'r', encoding='utf-8') as f:
|
||||
settings = json.load(f)
|
||||
self.loadSettings(settings)
|
||||
|
||||
|
||||
def loadSettingsGroup(self,group,fields,normalized=False):
|
||||
for key in group.keys():
|
||||
ele = self.om.getElement(key)
|
||||
for field in fields:
|
||||
ele.__dict__[field]=group[key][field]
|
||||
if normalized:
|
||||
ele.__dict__[field]/=ele.Length
|
||||
|
||||
def loadSettings(self,settings):
|
||||
self.loadSettingsGroup(settings['Quadrupole'],['k1'])
|
||||
self.loadSettingsGroup(settings['Sextupole'], ['k2'])
|
||||
self.loadSettingsGroup(settings['Dipole'], ['angle'])
|
||||
self.loadSettingsGroup(settings['RF'], ['Gradient'],normalized=True)
|
||||
self.loadSettingsGroup(settings['RF'], ['Phase'])
|
||||
self.loadSettingsGroup(settings['Undulator'], ['K','kx','ky'])
|
||||
self.loadSettingsGroup(settings['Kicker'], ['cory','design_kick'])
|
||||
E0 = settings['Energy']['energy']
|
||||
if isinstance(E0,list):
|
||||
E0=E0[0]
|
||||
E0Ref = settings['Energy']['location']
|
||||
if isinstance(E0,list):
|
||||
E0=E0[0]
|
||||
self.initEnergy=E0
|
||||
self.initEnergyRef=E0Ref
|
||||
self.om.forceEnergyAt(E0Ref, E0*1e6)
|
||||
self.startTwiss = settings['InitialCondition']
|
||||
self.parent.UIDistBetax.setText('%7.3f' % self.startTwiss['betax0'])
|
||||
self.parent.UIDistBetay.setText('%7.3f' % self.startTwiss['betay0'])
|
||||
self.parent.UIDistAlphax.setText('%7.3f' % self.startTwiss['alphax0'])
|
||||
self.parent.UIDistAlphay.setText('%7.3f' % self.startTwiss['alphay0'])
|
||||
self.parent.UIDistEnergy.setText('%7.3f' % E0)
|
||||
self.updateRFTable(settings['RF'])
|
||||
|
||||
def defineDumpPoints(self):
|
||||
self.parent.UISectionList.clear()
|
||||
secs=self.om.listSection('*')
|
||||
for sec in secs:
|
||||
self.parent.UISectionList.addItem(sec)
|
||||
|
||||
self.parent.UIDiagnosticList.clear()
|
||||
digs=self.om.listElement('DBPM')
|
||||
for dig in digs:
|
||||
self.parent.UIDiagnosticList.addItem(dig.replace('.','-'))
|
||||
|
||||
def updateRFTable(self,settings):
|
||||
secs = ['SINSB0[34]','SINXB','S10CB','S20CB','S30CB','SATCB']
|
||||
for j,sec in enumerate(secs):
|
||||
grad = self.om.getRegExpElement(sec,'RACC','Gradient')
|
||||
L = self.om.getRegExpElement(sec, 'RACC', 'Length')
|
||||
Phi = self.om.getRegExpElement(sec, 'RACC', 'Phase')
|
||||
|
||||
vec = 0*1j
|
||||
for i,grad0 in enumerate(grad):
|
||||
phase = Phi[i]*np.pi/180
|
||||
vec += grad0*L[i]*np.exp(1j*phase)*1e-6
|
||||
phase=np.mod(np.angle(vec),2*np.pi)*180/np.pi
|
||||
self.parent.UIRFSettings.setItem(j,1,QtWidgets.QTableWidgetItem('%7.1f' % np.abs(vec)))
|
||||
self.parent.UIRFSettings.setItem(j, 2, QtWidgets.QTableWidgetItem('%7.2f' % phase))
|
||||
self.parent.UIRFSettings.setItem(j, 3, QtWidgets.QTableWidgetItem('%7.1f' % vec.imag))
|
||||
self.parent.UIRFSettings.resizeColumnsToContents()
|
||||
self.parent.UIRFSettings.horizontalHeader().show()
|
||||
|
||||
def updateRF(self):
|
||||
secs = ['SINSB0[34]', 'SINXB', 'S10CB', 'S20CB', 'S30CB', 'SATCB']
|
||||
for i,sec in enumerate(secs):
|
||||
grad=float(str(self.parent.UIRFSettings.item(i,1).text()))
|
||||
phase = float(str(self.parent.UIRFSettings.item(i, 2).text()))*np.pi/180.
|
||||
gain=grad*np.sin(phase)
|
||||
self.parent.UIRFSettings.setItem(i, 3, QtWidgets.QTableWidgetItem('%7.2f' % gain))
|
||||
L = self.om.getRegExpElement(sec, 'RACC', 'Length')
|
||||
nl=len(L)
|
||||
volt=grad/nl/L[0]*1e6
|
||||
print(sec,volt,phase)
|
||||
self.om.setRegExpElement(sec, 'RACC', 'Gradient', volt)
|
||||
self.om.setRegExpElement(sec, 'RACC', 'Phase', phase)
|
||||
|
||||
self.om.forceEnergyAt(self.initEnergyRef, self.initEnergy * 1e6)
|
||||
self.parent.UIRFSettings.resizeColumnsToContents()
|
||||
self.parent.UIRFSettings.horizontalHeader().show()
|
||||
@@ -0,0 +1,118 @@
|
||||
from threading import Thread
|
||||
import subprocess
|
||||
|
||||
class Track:
|
||||
def __init__(self, parent=None):
|
||||
self.parent=parent
|
||||
self.dumpPoints=[]
|
||||
self.parent.UITrack.clicked.connect(self.startTracking)
|
||||
self.parent.UIAddDiagnosticDump.clicked.connect(self.addDiagnosticDump)
|
||||
self.parent.UIAddSectionDump.clicked.connect(self.addSectionDump)
|
||||
self.parent.UIDeleteDump.clicked.connect(self.deleteDump)
|
||||
|
||||
def startTracking(self):
|
||||
project = 'SwissFEL'
|
||||
start=str(self.parent.UITrackStart.text())
|
||||
end=str(self.parent.UITrackEnd.text())
|
||||
lsc = self.parent.UITrackDoLSC.isChecked()
|
||||
csr = self.parent.UITrackDoCSR.isChecked()
|
||||
print('Tracking from',start,'to',end,'...')
|
||||
if self.parent.preferredDist is None:
|
||||
Q = 200e-12
|
||||
else:
|
||||
Q = self.parent.preferredDist.getQ()
|
||||
dumps = []
|
||||
for ele in self.dumpPoints:
|
||||
if '-' in ele:
|
||||
dumps.append(ele.replace('-','.'))
|
||||
else:
|
||||
dumps.append(ele+'.End')
|
||||
latfile = self.parent.model.writeLattice(project,start,end,lsc,csr,Q,dumps)
|
||||
print('Lattice written to',latfile)
|
||||
if self.parent.preferredDist is None:
|
||||
print('No distribution defined')
|
||||
print('Only lattice file written to Directory ./Runs/')
|
||||
return
|
||||
distfile='Runs/'+project+'Inputdist.sdds'
|
||||
self.parent.preferredDist.saveDist(distfile)
|
||||
print('Input distribution copied to',distfile)
|
||||
res=self.parent.preferredDist.analyseBeamShort(distfile)
|
||||
inputfile=self.writeInputFile('Runs',project,latfile,distfile,res)
|
||||
print('Input file written to',inputfile)
|
||||
self.cmd=['elegant',inputfile]
|
||||
Thread(name='Elegant Run', target=self.Telegant).start()
|
||||
|
||||
def Telegant(self):
|
||||
print('Starting thread to run elegant')
|
||||
subprocess.run(self.cmd)
|
||||
|
||||
def writeInputFile(self,path,name,latfile,distfile,distinfo):
|
||||
filename = '%s/%s.ele' % (path, name)
|
||||
with open(filename, 'w') as fid:
|
||||
fid.write('&run_setup\n')
|
||||
fid.write('\tlattice\t\t= %s,\n' % (latfile))
|
||||
fid.write('\tuse_beamline\t= SwissFEL,\n')
|
||||
fid.write('\trootname\t= %s,\n' % name)
|
||||
fid.write('\toutput\t\t= %s/%%s.out,\n' % path)
|
||||
fid.write('\tcentroid\t\t= %s/%%s.cen,\n' % path)
|
||||
fid.write('\tsigma\t\t= %s/%%s.sig,\n' % path)
|
||||
fid.write('\tfinal\t\t= %s/%%s.fin,\n' % path)
|
||||
fid.write('\tparameters\t= %s/%%s.par,\n' % path)
|
||||
fid.write('\tmagnets\t\t= %s/%%s.mag,\n' % path)
|
||||
fid.write('\tcombine_bunch_statistics = 0,\n')
|
||||
fid.write('\tdefault_order\t= 2,\n')
|
||||
fid.write('\tconcat_order\t= 0,\n')
|
||||
fid.write('\tprint_statistics\t= 0,\n')
|
||||
fid.write('\trandom_number_seed\t= 9876543210,\n')
|
||||
fid.write('\tp_central\t= %f,\n' % distinfo['pAverage'])
|
||||
fid.write('\ttracking_updates\t= 1\n')
|
||||
fid.write('\talways_change_p0\t= 1\n')
|
||||
fid.write('&end\n\n')
|
||||
fid.write('&run_control\n')
|
||||
fid.write('\tn_steps\t= 1,\n')
|
||||
fid.write('\treset_rf_for_each_step = 1\n')
|
||||
fid.write('&end\n\n')
|
||||
|
||||
fid.write('&twiss_output\n')
|
||||
fid.write('\tfilename\t= %s/%%s.twi,\n' % path)
|
||||
fid.write('\tmatched\t\t= 0,\n')
|
||||
fid.write('\tbeta_x\t\t= %f,\n' % distinfo['betax'])
|
||||
fid.write('\tbeta_y\t\t= %f,\n' % distinfo['betay'])
|
||||
fid.write('\talpha_x\t\t= %f,\n' % distinfo['alphax'])
|
||||
fid.write('\talpha_y\t\t= %f,\n' % distinfo['alphay'])
|
||||
fid.write('&end\n\n')
|
||||
|
||||
fid.write('&sdds_beam\n')
|
||||
fid.write('\tinput_type= "elegant",\n')
|
||||
fid.write('\tsample_interval\t= 1,\n')
|
||||
fid.write('\tinput = %s,\n' % distfile)
|
||||
fid.write('\treuse_bunch\t= 0 \n')
|
||||
fid.write('&end\n\n')
|
||||
|
||||
fid.write('&track\n')
|
||||
fid.write('&end\n\n')
|
||||
fid.close()
|
||||
|
||||
return filename
|
||||
|
||||
def addDiagnosticDump(self):
|
||||
self.addDump(self.parent.UIDiagnosticList)
|
||||
|
||||
def addSectionDump(self):
|
||||
self.addDump(self.parent.UISectionList)
|
||||
|
||||
def addDump(self,qwidget):
|
||||
elements=[str(ele.text()) for ele in qwidget.selectedItems()]
|
||||
for ele in elements:
|
||||
if not ele in self.dumpPoints:
|
||||
self.dumpPoints.append(ele)
|
||||
self.parent.UIDumpLocation.clear()
|
||||
for ele in self.dumpPoints:
|
||||
self.parent.UIDumpLocation.addItem(ele)
|
||||
|
||||
def deleteDump(self):
|
||||
sels = [str(ele.text()) for ele in self.parent.UIDumpLocation.selectedItems()]
|
||||
self.dumpPoints = [ele for ele in self.dumpPoints if not ele in sels]
|
||||
self.parent.UIDumpLocation.clear()
|
||||
for ele in self.dumpPoints:
|
||||
self.parent.UIDumpLocation.addItem(ele)
|
||||
+197
-424
@@ -14,7 +14,7 @@ from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
class Ui_ElegantGUI(object):
|
||||
def setupUi(self, ElegantGUI):
|
||||
ElegantGUI.setObjectName("ElegantGUI")
|
||||
ElegantGUI.resize(813, 775)
|
||||
ElegantGUI.resize(813, 951)
|
||||
self.centralwidget = QtWidgets.QWidget(ElegantGUI)
|
||||
self.centralwidget.setObjectName("centralwidget")
|
||||
self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.centralwidget)
|
||||
@@ -83,196 +83,20 @@ class Ui_ElegantGUI(object):
|
||||
self.UITrackEnd.setObjectName("UITrackEnd")
|
||||
self.gridLayout_4.addWidget(self.UITrackEnd, 1, 1, 1, 1)
|
||||
self.verticalLayout.addLayout(self.gridLayout_4)
|
||||
self.label_9 = QtWidgets.QLabel(self.widget_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.label_9.sizePolicy().hasHeightForWidth())
|
||||
self.label_9.setSizePolicy(sizePolicy)
|
||||
self.label_9.setObjectName("label_9")
|
||||
self.verticalLayout.addWidget(self.label_9)
|
||||
self.UITrackReference = QtWidgets.QComboBox(self.widget_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.UITrackReference.sizePolicy().hasHeightForWidth())
|
||||
self.UITrackReference.setSizePolicy(sizePolicy)
|
||||
self.UITrackReference.setObjectName("UITrackReference")
|
||||
self.verticalLayout.addWidget(self.UITrackReference)
|
||||
self.label_10 = QtWidgets.QLabel(self.widget_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.label_10.sizePolicy().hasHeightForWidth())
|
||||
self.label_10.setSizePolicy(sizePolicy)
|
||||
self.label_10.setObjectName("label_10")
|
||||
self.verticalLayout.addWidget(self.label_10)
|
||||
self.UITrackLocation = QtWidgets.QLineEdit(self.widget_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.UITrackLocation.sizePolicy().hasHeightForWidth())
|
||||
self.UITrackLocation.setSizePolicy(sizePolicy)
|
||||
self.UITrackLocation.setObjectName("UITrackLocation")
|
||||
self.verticalLayout.addWidget(self.UITrackLocation)
|
||||
self.gridLayout_3 = QtWidgets.QGridLayout()
|
||||
self.gridLayout_3.setObjectName("gridLayout_3")
|
||||
self.UIBetax = QtWidgets.QLineEdit(self.widget_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.UIBetax.sizePolicy().hasHeightForWidth())
|
||||
self.UIBetax.setSizePolicy(sizePolicy)
|
||||
self.UIBetax.setObjectName("UIBetax")
|
||||
self.gridLayout_3.addWidget(self.UIBetax, 1, 1, 1, 1)
|
||||
self.label_5 = QtWidgets.QLabel(self.widget_2)
|
||||
self.label_5.setObjectName("label_5")
|
||||
self.gridLayout_3.addWidget(self.label_5, 1, 0, 1, 1)
|
||||
self.UIAlphax = QtWidgets.QLineEdit(self.widget_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.UIAlphax.sizePolicy().hasHeightForWidth())
|
||||
self.UIAlphax.setSizePolicy(sizePolicy)
|
||||
self.UIAlphax.setObjectName("UIAlphax")
|
||||
self.gridLayout_3.addWidget(self.UIAlphax, 3, 1, 1, 1)
|
||||
self.UIBetay = QtWidgets.QLineEdit(self.widget_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.UIBetay.sizePolicy().hasHeightForWidth())
|
||||
self.UIBetay.setSizePolicy(sizePolicy)
|
||||
self.UIBetay.setObjectName("UIBetay")
|
||||
self.gridLayout_3.addWidget(self.UIBetay, 1, 2, 1, 1)
|
||||
self.label_3 = QtWidgets.QLabel(self.widget_2)
|
||||
self.label_3.setObjectName("label_3")
|
||||
self.gridLayout_3.addWidget(self.label_3, 4, 0, 1, 1)
|
||||
self.label_7 = QtWidgets.QLabel(self.widget_2)
|
||||
self.label_7.setObjectName("label_7")
|
||||
self.gridLayout_3.addWidget(self.label_7, 6, 0, 1, 1)
|
||||
self.label_4 = QtWidgets.QLabel(self.widget_2)
|
||||
self.label_4.setObjectName("label_4")
|
||||
self.gridLayout_3.addWidget(self.label_4, 5, 0, 1, 1)
|
||||
self.label_6 = QtWidgets.QLabel(self.widget_2)
|
||||
self.label_6.setObjectName("label_6")
|
||||
self.gridLayout_3.addWidget(self.label_6, 3, 0, 1, 1)
|
||||
self.label_30 = QtWidgets.QLabel(self.widget_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.label_30.sizePolicy().hasHeightForWidth())
|
||||
self.label_30.setSizePolicy(sizePolicy)
|
||||
self.label_30.setObjectName("label_30")
|
||||
self.gridLayout_3.addWidget(self.label_30, 0, 2, 1, 1)
|
||||
self.label_29 = QtWidgets.QLabel(self.widget_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.label_29.sizePolicy().hasHeightForWidth())
|
||||
self.label_29.setSizePolicy(sizePolicy)
|
||||
self.label_29.setObjectName("label_29")
|
||||
self.gridLayout_3.addWidget(self.label_29, 0, 1, 1, 1)
|
||||
self.UIAlphay = QtWidgets.QLineEdit(self.widget_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.UIAlphay.sizePolicy().hasHeightForWidth())
|
||||
self.UIAlphay.setSizePolicy(sizePolicy)
|
||||
self.UIAlphay.setObjectName("UIAlphay")
|
||||
self.gridLayout_3.addWidget(self.UIAlphay, 3, 2, 1, 1)
|
||||
self.label_8 = QtWidgets.QLabel(self.widget_2)
|
||||
self.label_8.setObjectName("label_8")
|
||||
self.gridLayout_3.addWidget(self.label_8, 7, 0, 1, 1)
|
||||
self.UIEtax = QtWidgets.QLineEdit(self.widget_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.UIEtax.sizePolicy().hasHeightForWidth())
|
||||
self.UIEtax.setSizePolicy(sizePolicy)
|
||||
self.UIEtax.setObjectName("UIEtax")
|
||||
self.gridLayout_3.addWidget(self.UIEtax, 4, 1, 1, 1)
|
||||
self.UIEtapx = QtWidgets.QLineEdit(self.widget_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.UIEtapx.sizePolicy().hasHeightForWidth())
|
||||
self.UIEtapx.setSizePolicy(sizePolicy)
|
||||
self.UIEtapx.setObjectName("UIEtapx")
|
||||
self.gridLayout_3.addWidget(self.UIEtapx, 5, 1, 1, 1)
|
||||
self.UIX = QtWidgets.QLineEdit(self.widget_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.UIX.sizePolicy().hasHeightForWidth())
|
||||
self.UIX.setSizePolicy(sizePolicy)
|
||||
self.UIX.setObjectName("UIX")
|
||||
self.gridLayout_3.addWidget(self.UIX, 6, 1, 1, 1)
|
||||
self.UIPX = QtWidgets.QLineEdit(self.widget_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.UIPX.sizePolicy().hasHeightForWidth())
|
||||
self.UIPX.setSizePolicy(sizePolicy)
|
||||
self.UIPX.setObjectName("UIPX")
|
||||
self.gridLayout_3.addWidget(self.UIPX, 7, 1, 1, 1)
|
||||
self.UIEtay = QtWidgets.QLineEdit(self.widget_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.UIEtay.sizePolicy().hasHeightForWidth())
|
||||
self.UIEtay.setSizePolicy(sizePolicy)
|
||||
self.UIEtay.setObjectName("UIEtay")
|
||||
self.gridLayout_3.addWidget(self.UIEtay, 4, 2, 1, 1)
|
||||
self.UIEtapy = QtWidgets.QLineEdit(self.widget_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.UIEtapy.sizePolicy().hasHeightForWidth())
|
||||
self.UIEtapy.setSizePolicy(sizePolicy)
|
||||
self.UIEtapy.setObjectName("UIEtapy")
|
||||
self.gridLayout_3.addWidget(self.UIEtapy, 5, 2, 1, 1)
|
||||
self.UIY = QtWidgets.QLineEdit(self.widget_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.UIY.sizePolicy().hasHeightForWidth())
|
||||
self.UIY.setSizePolicy(sizePolicy)
|
||||
self.UIY.setObjectName("UIY")
|
||||
self.gridLayout_3.addWidget(self.UIY, 6, 2, 1, 1)
|
||||
self.UIPY = QtWidgets.QLineEdit(self.widget_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.UIPY.sizePolicy().hasHeightForWidth())
|
||||
self.UIPY.setSizePolicy(sizePolicy)
|
||||
self.UIPY.setObjectName("UIPY")
|
||||
self.gridLayout_3.addWidget(self.UIPY, 7, 2, 1, 1)
|
||||
self.verticalLayout.addLayout(self.gridLayout_3)
|
||||
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.verticalLayout.addItem(spacerItem)
|
||||
self.UIUpdateFromMachine = QtWidgets.QPushButton(self.widget_2)
|
||||
self.UIUpdateFromMachine.setObjectName("UIUpdateFromMachine")
|
||||
self.verticalLayout.addWidget(self.UIUpdateFromMachine)
|
||||
self.label_13 = QtWidgets.QLabel(self.widget_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.label_13.sizePolicy().hasHeightForWidth())
|
||||
self.label_13.setSizePolicy(sizePolicy)
|
||||
self.label_13.setObjectName("label_13")
|
||||
self.verticalLayout.addWidget(self.label_13)
|
||||
self.UIStatus = QtWidgets.QLineEdit(self.widget_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Ignored, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.UIStatus.sizePolicy().hasHeightForWidth())
|
||||
self.UIStatus.setSizePolicy(sizePolicy)
|
||||
self.UIStatus.setMinimumSize(QtCore.QSize(150, 0))
|
||||
self.UIStatus.setObjectName("UIStatus")
|
||||
self.verticalLayout.addWidget(self.UIStatus)
|
||||
self.UITrackDoLSC = QtWidgets.QCheckBox(self.widget_2)
|
||||
self.UITrackDoLSC.setChecked(True)
|
||||
self.UITrackDoLSC.setObjectName("UITrackDoLSC")
|
||||
self.verticalLayout.addWidget(self.UITrackDoLSC)
|
||||
self.UITrackDoCSR = QtWidgets.QCheckBox(self.widget_2)
|
||||
self.UITrackDoCSR.setChecked(True)
|
||||
self.UITrackDoCSR.setObjectName("UITrackDoCSR")
|
||||
self.verticalLayout.addWidget(self.UITrackDoCSR)
|
||||
self.plainTextEdit = QtWidgets.QPlainTextEdit(self.widget_2)
|
||||
self.plainTextEdit.setObjectName("plainTextEdit")
|
||||
self.verticalLayout.addWidget(self.plainTextEdit)
|
||||
self.horizontalLayout.addWidget(self.widget_2)
|
||||
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout.addItem(spacerItem1)
|
||||
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout.addItem(spacerItem)
|
||||
self.TabMaster.addTab(self.tab_3, "")
|
||||
self.tab_8 = QtWidgets.QWidget()
|
||||
self.tab_8.setObjectName("tab_8")
|
||||
@@ -296,8 +120,8 @@ class Ui_ElegantGUI(object):
|
||||
self.UIDistAnalysis.setReadOnly(True)
|
||||
self.UIDistAnalysis.setObjectName("UIDistAnalysis")
|
||||
self.verticalLayout_4.addWidget(self.UIDistAnalysis)
|
||||
spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.verticalLayout_4.addItem(spacerItem2)
|
||||
spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.verticalLayout_4.addItem(spacerItem1)
|
||||
self.UIDistInput = QtWidgets.QPushButton(self.tab_8)
|
||||
self.UIDistInput.setObjectName("UIDistInput")
|
||||
self.verticalLayout_4.addWidget(self.UIDistInput)
|
||||
@@ -376,188 +200,149 @@ class Ui_ElegantGUI(object):
|
||||
self.UIDistCut = QtWidgets.QPushButton(self.tab_8)
|
||||
self.UIDistCut.setObjectName("UIDistCut")
|
||||
self.verticalLayout_3.addWidget(self.UIDistCut)
|
||||
spacerItem3 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.verticalLayout_3.addItem(spacerItem3)
|
||||
spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.verticalLayout_3.addItem(spacerItem2)
|
||||
self.UIDistSave = QtWidgets.QPushButton(self.tab_8)
|
||||
self.UIDistSave.setObjectName("UIDistSave")
|
||||
self.verticalLayout_3.addWidget(self.UIDistSave)
|
||||
self.horizontalLayout_7.addLayout(self.verticalLayout_3)
|
||||
spacerItem4 = QtWidgets.QSpacerItem(248, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout_7.addItem(spacerItem4)
|
||||
spacerItem3 = QtWidgets.QSpacerItem(248, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout_7.addItem(spacerItem3)
|
||||
self.TabMaster.addTab(self.tab_8, "")
|
||||
self.tab_2 = QtWidgets.QWidget()
|
||||
self.tab_2.setObjectName("tab_2")
|
||||
self.horizontalLayout_9 = QtWidgets.QHBoxLayout(self.tab_2)
|
||||
self.horizontalLayout_9.setObjectName("horizontalLayout_9")
|
||||
self.verticalLayout_6 = QtWidgets.QVBoxLayout()
|
||||
self.verticalLayout_6.setObjectName("verticalLayout_6")
|
||||
self.UIMatchSelected = QtWidgets.QPushButton(self.tab_2)
|
||||
font = QtGui.QFont()
|
||||
font.setPointSize(12)
|
||||
font.setBold(True)
|
||||
font.setWeight(75)
|
||||
self.UIMatchSelected.setFont(font)
|
||||
self.UIMatchSelected.setStyleSheet("background-color: rgb(255, 255, 127);")
|
||||
self.UIMatchSelected.setObjectName("UIMatchSelected")
|
||||
self.verticalLayout_6.addWidget(self.UIMatchSelected)
|
||||
self.horizontalLayout_8 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_8.setObjectName("horizontalLayout_8")
|
||||
self.label_14 = QtWidgets.QLabel(self.tab_2)
|
||||
self.label_14.setObjectName("label_14")
|
||||
self.horizontalLayout_8.addWidget(self.label_14)
|
||||
self.UIMatchSequenceLabel = QtWidgets.QLineEdit(self.tab_2)
|
||||
self.UIMatchSequenceLabel.setText("")
|
||||
self.UIMatchSequenceLabel.setObjectName("UIMatchSequenceLabel")
|
||||
self.horizontalLayout_8.addWidget(self.UIMatchSequenceLabel)
|
||||
self.verticalLayout_6.addLayout(self.horizontalLayout_8)
|
||||
self.label_15 = QtWidgets.QLabel(self.tab_2)
|
||||
self.label_15.setObjectName("label_15")
|
||||
self.verticalLayout_6.addWidget(self.label_15)
|
||||
self.UIMatchOrder = QtWidgets.QListWidget(self.tab_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Expanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.UIMatchOrder.sizePolicy().hasHeightForWidth())
|
||||
self.UIMatchOrder.setSizePolicy(sizePolicy)
|
||||
self.UIMatchOrder.setMinimumSize(QtCore.QSize(350, 0))
|
||||
self.UIMatchOrder.setObjectName("UIMatchOrder")
|
||||
self.verticalLayout_6.addWidget(self.UIMatchOrder)
|
||||
self.UIMatchRandom = QtWidgets.QCheckBox(self.tab_2)
|
||||
self.UIMatchRandom.setObjectName("UIMatchRandom")
|
||||
self.verticalLayout_6.addWidget(self.UIMatchRandom)
|
||||
self.horizontalLayout_9.addLayout(self.verticalLayout_6)
|
||||
self.verticalLayout_7 = QtWidgets.QVBoxLayout()
|
||||
self.verticalLayout_7.setObjectName("verticalLayout_7")
|
||||
self.label_21 = QtWidgets.QLabel(self.tab_2)
|
||||
font = QtGui.QFont()
|
||||
font.setPointSize(12)
|
||||
font.setBold(True)
|
||||
font.setWeight(75)
|
||||
self.label_21.setFont(font)
|
||||
self.label_21.setObjectName("label_21")
|
||||
self.verticalLayout_7.addWidget(self.label_21)
|
||||
self.gridLayout_5 = QtWidgets.QGridLayout()
|
||||
self.gridLayout_5.setObjectName("gridLayout_5")
|
||||
self.label_17 = QtWidgets.QLabel(self.tab_2)
|
||||
self.label_17.setObjectName("label_17")
|
||||
self.gridLayout_5.addWidget(self.label_17, 1, 0, 1, 1)
|
||||
self.UIMatchSequence = QtWidgets.QLineEdit(self.tab_2)
|
||||
self.UIMatchSequence.setReadOnly(True)
|
||||
self.UIMatchSequence.setObjectName("UIMatchSequence")
|
||||
self.gridLayout_5.addWidget(self.UIMatchSequence, 3, 1, 1, 1)
|
||||
self.UIMatchLabel = QtWidgets.QLineEdit(self.tab_2)
|
||||
self.UIMatchLabel.setReadOnly(True)
|
||||
self.UIMatchLabel.setObjectName("UIMatchLabel")
|
||||
self.gridLayout_5.addWidget(self.UIMatchLabel, 0, 1, 1, 1)
|
||||
self.label_11 = QtWidgets.QLabel(self.tab_2)
|
||||
self.label_11.setObjectName("label_11")
|
||||
self.gridLayout_5.addWidget(self.label_11, 3, 0, 1, 1)
|
||||
self.label_16 = QtWidgets.QLabel(self.tab_2)
|
||||
self.label_16.setObjectName("label_16")
|
||||
self.gridLayout_5.addWidget(self.label_16, 0, 0, 1, 1)
|
||||
self.UIMatchStart = QtWidgets.QLineEdit(self.tab_2)
|
||||
self.UIMatchStart.setReadOnly(True)
|
||||
self.UIMatchStart.setObjectName("UIMatchStart")
|
||||
self.gridLayout_5.addWidget(self.UIMatchStart, 1, 1, 1, 1)
|
||||
self.label_12 = QtWidgets.QLabel(self.tab_2)
|
||||
self.label_12.setObjectName("label_12")
|
||||
self.gridLayout_5.addWidget(self.label_12, 2, 0, 1, 1)
|
||||
self.UIMatchEnd = QtWidgets.QLineEdit(self.tab_2)
|
||||
self.UIMatchEnd.setReadOnly(True)
|
||||
self.UIMatchEnd.setObjectName("UIMatchEnd")
|
||||
self.gridLayout_5.addWidget(self.UIMatchEnd, 2, 1, 1, 1)
|
||||
self.verticalLayout_7.addLayout(self.gridLayout_5)
|
||||
self.label_19 = QtWidgets.QLabel(self.tab_2)
|
||||
self.label_19.setObjectName("label_19")
|
||||
self.verticalLayout_7.addWidget(self.label_19)
|
||||
self.UIMatchKnobs = QtWidgets.QTableWidget(self.tab_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Expanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.UIMatchKnobs.sizePolicy().hasHeightForWidth())
|
||||
self.UIMatchKnobs.setSizePolicy(sizePolicy)
|
||||
self.UIMatchKnobs.setObjectName("UIMatchKnobs")
|
||||
self.UIMatchKnobs.setColumnCount(3)
|
||||
self.UIMatchKnobs.setRowCount(0)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.UIMatchKnobs.setHorizontalHeaderItem(0, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.UIMatchKnobs.setHorizontalHeaderItem(1, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.UIMatchKnobs.setHorizontalHeaderItem(2, item)
|
||||
self.verticalLayout_7.addWidget(self.UIMatchKnobs)
|
||||
self.label_20 = QtWidgets.QLabel(self.tab_2)
|
||||
self.label_20.setObjectName("label_20")
|
||||
self.verticalLayout_7.addWidget(self.label_20)
|
||||
self.UIMatchTargets = QtWidgets.QTableWidget(self.tab_2)
|
||||
self.UIMatchTargets.setObjectName("UIMatchTargets")
|
||||
self.UIMatchTargets.setColumnCount(2)
|
||||
self.UIMatchTargets.setRowCount(0)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.UIMatchTargets.setHorizontalHeaderItem(0, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.UIMatchTargets.setHorizontalHeaderItem(1, item)
|
||||
self.verticalLayout_7.addWidget(self.UIMatchTargets)
|
||||
self.horizontalLayout_9.addLayout(self.verticalLayout_7)
|
||||
spacerItem5 = QtWidgets.QSpacerItem(242, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout_9.addItem(spacerItem5)
|
||||
self.TabMaster.addTab(self.tab_2, "")
|
||||
self.tab = QtWidgets.QWidget()
|
||||
self.tab.setObjectName("tab")
|
||||
self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.tab)
|
||||
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
|
||||
self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.tab_2)
|
||||
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
||||
self.verticalLayout_2 = QtWidgets.QVBoxLayout()
|
||||
self.verticalLayout_2.setObjectName("verticalLayout_2")
|
||||
self.UIConfigMatching = QtWidgets.QPushButton(self.tab)
|
||||
self.UIConfigMatching.setObjectName("UIConfigMatching")
|
||||
self.verticalLayout_2.addWidget(self.UIConfigMatching)
|
||||
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
||||
self.label_18 = QtWidgets.QLabel(self.tab)
|
||||
self.label_18.setObjectName("label_18")
|
||||
self.horizontalLayout_2.addWidget(self.label_18)
|
||||
self.UIMatchingConfigLabel = QtWidgets.QLineEdit(self.tab)
|
||||
self.UIMatchingConfigLabel.setObjectName("UIMatchingConfigLabel")
|
||||
self.horizontalLayout_2.addWidget(self.UIMatchingConfigLabel)
|
||||
self.verticalLayout_2.addLayout(self.horizontalLayout_2)
|
||||
self.line = QtWidgets.QFrame(self.tab)
|
||||
self.line.setFrameShape(QtWidgets.QFrame.HLine)
|
||||
self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
|
||||
self.line.setObjectName("line")
|
||||
self.verticalLayout_2.addWidget(self.line)
|
||||
self.label_22 = QtWidgets.QLabel(self.tab)
|
||||
self.label_22.setObjectName("label_22")
|
||||
self.verticalLayout_2.addWidget(self.label_22)
|
||||
self.UIMatchConfigSYComp = QtWidgets.QLineEdit(self.tab)
|
||||
self.UIMatchConfigSYComp.setObjectName("UIMatchConfigSYComp")
|
||||
self.verticalLayout_2.addWidget(self.UIMatchConfigSYComp)
|
||||
self.label_25 = QtWidgets.QLabel(self.tab)
|
||||
self.label_25.setObjectName("label_25")
|
||||
self.verticalLayout_2.addWidget(self.label_25)
|
||||
self.UIMatchConfigARFoc = QtWidgets.QLineEdit(self.tab)
|
||||
self.UIMatchConfigARFoc.setObjectName("UIMatchConfigARFoc")
|
||||
self.verticalLayout_2.addWidget(self.UIMatchConfigARFoc)
|
||||
self.label_27 = QtWidgets.QLabel(self.tab)
|
||||
self.label_27.setObjectName("label_27")
|
||||
self.verticalLayout_2.addWidget(self.label_27)
|
||||
self.UIMatchConfigATFoc = QtWidgets.QLineEdit(self.tab)
|
||||
self.UIMatchConfigATFoc.setObjectName("UIMatchConfigATFoc")
|
||||
self.verticalLayout_2.addWidget(self.UIMatchConfigATFoc)
|
||||
self.UIMatchConfigECOLAsBC = QtWidgets.QCheckBox(self.tab)
|
||||
self.UIMatchConfigECOLAsBC.setObjectName("UIMatchConfigECOLAsBC")
|
||||
self.verticalLayout_2.addWidget(self.UIMatchConfigECOLAsBC)
|
||||
self.label_28 = QtWidgets.QLabel(self.tab)
|
||||
self.label_28.setObjectName("label_28")
|
||||
self.verticalLayout_2.addWidget(self.label_28)
|
||||
self.UIMatchConfigECOLR56 = QtWidgets.QLineEdit(self.tab)
|
||||
self.UIMatchConfigECOLR56.setObjectName("UIMatchConfigECOLR56")
|
||||
self.verticalLayout_2.addWidget(self.UIMatchConfigECOLR56)
|
||||
spacerItem6 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.verticalLayout_2.addItem(spacerItem6)
|
||||
self.horizontalLayout_3.addLayout(self.verticalLayout_2)
|
||||
spacerItem7 = QtWidgets.QSpacerItem(380, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout_3.addItem(spacerItem7)
|
||||
self.TabMaster.addTab(self.tab, "")
|
||||
self.UILoadReference = QtWidgets.QPushButton(self.tab_2)
|
||||
self.UILoadReference.setObjectName("UILoadReference")
|
||||
self.verticalLayout_2.addWidget(self.UILoadReference)
|
||||
self.label_3 = QtWidgets.QLabel(self.tab_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth())
|
||||
self.label_3.setSizePolicy(sizePolicy)
|
||||
self.label_3.setObjectName("label_3")
|
||||
self.verticalLayout_2.addWidget(self.label_3)
|
||||
self.UIRFSettings = QtWidgets.QTableWidget(self.tab_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.UIRFSettings.sizePolicy().hasHeightForWidth())
|
||||
self.UIRFSettings.setSizePolicy(sizePolicy)
|
||||
self.UIRFSettings.setObjectName("UIRFSettings")
|
||||
self.UIRFSettings.setColumnCount(4)
|
||||
self.UIRFSettings.setRowCount(6)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.UIRFSettings.setVerticalHeaderItem(0, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.UIRFSettings.setVerticalHeaderItem(1, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.UIRFSettings.setVerticalHeaderItem(2, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.UIRFSettings.setVerticalHeaderItem(3, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.UIRFSettings.setVerticalHeaderItem(4, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.UIRFSettings.setVerticalHeaderItem(5, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.UIRFSettings.setHorizontalHeaderItem(0, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.UIRFSettings.setHorizontalHeaderItem(1, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.UIRFSettings.setHorizontalHeaderItem(2, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.UIRFSettings.setHorizontalHeaderItem(3, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.UIRFSettings.setItem(0, 0, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.UIRFSettings.setItem(1, 0, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.UIRFSettings.setItem(2, 0, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.UIRFSettings.setItem(3, 0, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.UIRFSettings.setItem(4, 0, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.UIRFSettings.setItem(5, 0, item)
|
||||
self.UIRFSettings.horizontalHeader().setVisible(False)
|
||||
self.UIRFSettings.verticalHeader().setVisible(False)
|
||||
self.verticalLayout_2.addWidget(self.UIRFSettings)
|
||||
self.UIUpdateRFSettings = QtWidgets.QPushButton(self.tab_2)
|
||||
self.UIUpdateRFSettings.setObjectName("UIUpdateRFSettings")
|
||||
self.verticalLayout_2.addWidget(self.UIUpdateRFSettings)
|
||||
self.label_4 = QtWidgets.QLabel(self.tab_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.label_4.sizePolicy().hasHeightForWidth())
|
||||
self.label_4.setSizePolicy(sizePolicy)
|
||||
self.label_4.setObjectName("label_4")
|
||||
self.verticalLayout_2.addWidget(self.label_4)
|
||||
self.UIDumpLocation = QtWidgets.QListWidget(self.tab_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.MinimumExpanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.UIDumpLocation.sizePolicy().hasHeightForWidth())
|
||||
self.UIDumpLocation.setSizePolicy(sizePolicy)
|
||||
self.UIDumpLocation.setObjectName("UIDumpLocation")
|
||||
self.verticalLayout_2.addWidget(self.UIDumpLocation)
|
||||
self.UIDeleteDump = QtWidgets.QPushButton(self.tab_2)
|
||||
self.UIDeleteDump.setObjectName("UIDeleteDump")
|
||||
self.verticalLayout_2.addWidget(self.UIDeleteDump)
|
||||
spacerItem4 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.verticalLayout_2.addItem(spacerItem4)
|
||||
self.horizontalLayout_2.addLayout(self.verticalLayout_2)
|
||||
self.verticalLayout_6 = QtWidgets.QVBoxLayout()
|
||||
self.verticalLayout_6.setObjectName("verticalLayout_6")
|
||||
self.label_5 = QtWidgets.QLabel(self.tab_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.label_5.sizePolicy().hasHeightForWidth())
|
||||
self.label_5.setSizePolicy(sizePolicy)
|
||||
self.label_5.setObjectName("label_5")
|
||||
self.verticalLayout_6.addWidget(self.label_5)
|
||||
self.UIDiagnosticList = QtWidgets.QListWidget(self.tab_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.UIDiagnosticList.sizePolicy().hasHeightForWidth())
|
||||
self.UIDiagnosticList.setSizePolicy(sizePolicy)
|
||||
self.UIDiagnosticList.setSelectionMode(QtWidgets.QAbstractItemView.MultiSelection)
|
||||
self.UIDiagnosticList.setObjectName("UIDiagnosticList")
|
||||
self.verticalLayout_6.addWidget(self.UIDiagnosticList)
|
||||
self.UIAddDiagnosticDump = QtWidgets.QPushButton(self.tab_2)
|
||||
self.UIAddDiagnosticDump.setObjectName("UIAddDiagnosticDump")
|
||||
self.verticalLayout_6.addWidget(self.UIAddDiagnosticDump)
|
||||
self.label_6 = QtWidgets.QLabel(self.tab_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.label_6.sizePolicy().hasHeightForWidth())
|
||||
self.label_6.setSizePolicy(sizePolicy)
|
||||
self.label_6.setObjectName("label_6")
|
||||
self.verticalLayout_6.addWidget(self.label_6)
|
||||
self.UISectionList = QtWidgets.QListWidget(self.tab_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.UISectionList.sizePolicy().hasHeightForWidth())
|
||||
self.UISectionList.setSizePolicy(sizePolicy)
|
||||
self.UISectionList.setSelectionMode(QtWidgets.QAbstractItemView.MultiSelection)
|
||||
self.UISectionList.setObjectName("UISectionList")
|
||||
self.verticalLayout_6.addWidget(self.UISectionList)
|
||||
self.UIAddSectionDump = QtWidgets.QPushButton(self.tab_2)
|
||||
self.UIAddSectionDump.setObjectName("UIAddSectionDump")
|
||||
self.verticalLayout_6.addWidget(self.UIAddSectionDump)
|
||||
spacerItem5 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.verticalLayout_6.addItem(spacerItem5)
|
||||
self.horizontalLayout_2.addLayout(self.verticalLayout_6)
|
||||
spacerItem6 = QtWidgets.QSpacerItem(242, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout_2.addItem(spacerItem6)
|
||||
self.TabMaster.addTab(self.tab_2, "")
|
||||
self.verticalLayout_5.addWidget(self.TabMaster)
|
||||
ElegantGUI.setCentralWidget(self.centralwidget)
|
||||
self.menubar = QtWidgets.QMenuBar(ElegantGUI)
|
||||
@@ -707,7 +492,7 @@ class Ui_ElegantGUI(object):
|
||||
self.menubar.addAction(self.menuHelp.menuAction())
|
||||
|
||||
self.retranslateUi(ElegantGUI)
|
||||
self.TabMaster.setCurrentIndex(1)
|
||||
self.TabMaster.setCurrentIndex(2)
|
||||
self.actionQuit.triggered.connect(ElegantGUI.close) # type: ignore
|
||||
QtCore.QMetaObject.connectSlotsByName(ElegantGUI)
|
||||
|
||||
@@ -719,30 +504,8 @@ class Ui_ElegantGUI(object):
|
||||
self.label_2.setText(_translate("ElegantGUI", "End-Section"))
|
||||
self.label.setText(_translate("ElegantGUI", "Start-Section"))
|
||||
self.UITrackEnd.setText(_translate("ElegantGUI", "SINDI02"))
|
||||
self.label_9.setText(_translate("ElegantGUI", "Reference Point"))
|
||||
self.label_10.setText(_translate("ElegantGUI", "Location"))
|
||||
self.UIBetax.setText(_translate("ElegantGUI", "30"))
|
||||
self.label_5.setText(_translate("ElegantGUI", "beta"))
|
||||
self.UIAlphax.setText(_translate("ElegantGUI", "0"))
|
||||
self.UIBetay.setText(_translate("ElegantGUI", "30"))
|
||||
self.label_3.setText(_translate("ElegantGUI", "eta"))
|
||||
self.label_7.setText(_translate("ElegantGUI", "offset"))
|
||||
self.label_4.setText(_translate("ElegantGUI", "eta\'"))
|
||||
self.label_6.setText(_translate("ElegantGUI", "alpha"))
|
||||
self.label_30.setText(_translate("ElegantGUI", "y"))
|
||||
self.label_29.setText(_translate("ElegantGUI", "x"))
|
||||
self.UIAlphay.setText(_translate("ElegantGUI", "0"))
|
||||
self.label_8.setText(_translate("ElegantGUI", "angle"))
|
||||
self.UIEtax.setText(_translate("ElegantGUI", "0"))
|
||||
self.UIEtapx.setText(_translate("ElegantGUI", "0"))
|
||||
self.UIX.setText(_translate("ElegantGUI", "30"))
|
||||
self.UIPX.setText(_translate("ElegantGUI", "30"))
|
||||
self.UIEtay.setText(_translate("ElegantGUI", "30"))
|
||||
self.UIEtapy.setText(_translate("ElegantGUI", "30"))
|
||||
self.UIY.setText(_translate("ElegantGUI", "30"))
|
||||
self.UIPY.setText(_translate("ElegantGUI", "30"))
|
||||
self.UIUpdateFromMachine.setText(_translate("ElegantGUI", "Update Model from Machine"))
|
||||
self.label_13.setText(_translate("ElegantGUI", "Status"))
|
||||
self.UITrackDoLSC.setText(_translate("ElegantGUI", "Include Longitudinal Space Charge"))
|
||||
self.UITrackDoCSR.setText(_translate("ElegantGUI", "Include Coherent Synchrotron Radiation"))
|
||||
self.TabMaster.setTabText(self.TabMaster.indexOf(self.tab_3), _translate("ElegantGUI", "Track"))
|
||||
self.label_23.setText(_translate("ElegantGUI", "Distributions"))
|
||||
self.UIDistLoad.setText(_translate("ElegantGUI", "Load Distribution"))
|
||||
@@ -770,41 +533,51 @@ class Ui_ElegantGUI(object):
|
||||
self.UIDistCut.setText(_translate("ElegantGUI", "Cut"))
|
||||
self.UIDistSave.setText(_translate("ElegantGUI", "Save Distribution"))
|
||||
self.TabMaster.setTabText(self.TabMaster.indexOf(self.tab_8), _translate("ElegantGUI", "Distribution"))
|
||||
self.UIMatchSelected.setText(_translate("ElegantGUI", "Match Selected"))
|
||||
self.label_14.setText(_translate("ElegantGUI", "Label"))
|
||||
self.label_15.setText(_translate("ElegantGUI", "Matching Order (Closest Reference Point)"))
|
||||
self.UIMatchRandom.setText(_translate("ElegantGUI", "Random Initialization"))
|
||||
self.label_21.setText(_translate("ElegantGUI", "Matching Point"))
|
||||
self.label_17.setText(_translate("ElegantGUI", "Start"))
|
||||
self.label_11.setText(_translate("ElegantGUI", "Sequence"))
|
||||
self.label_16.setText(_translate("ElegantGUI", "Match"))
|
||||
self.label_12.setText(_translate("ElegantGUI", "End"))
|
||||
self.label_19.setText(_translate("ElegantGUI", "Knobs"))
|
||||
item = self.UIMatchKnobs.horizontalHeaderItem(0)
|
||||
item.setText(_translate("ElegantGUI", "Parameter"))
|
||||
item = self.UIMatchKnobs.horizontalHeaderItem(1)
|
||||
item.setText(_translate("ElegantGUI", "Value"))
|
||||
item = self.UIMatchKnobs.horizontalHeaderItem(2)
|
||||
item.setText(_translate("ElegantGUI", "Limit"))
|
||||
self.label_20.setText(_translate("ElegantGUI", "Target"))
|
||||
item = self.UIMatchTargets.horizontalHeaderItem(0)
|
||||
item.setText(_translate("ElegantGUI", "Location"))
|
||||
item = self.UIMatchTargets.horizontalHeaderItem(1)
|
||||
item.setText(_translate("ElegantGUI", "Condition"))
|
||||
self.UILoadReference.setText(_translate("ElegantGUI", "Load Settings"))
|
||||
self.label_3.setText(_translate("ElegantGUI", "RF Settings"))
|
||||
item = self.UIRFSettings.verticalHeaderItem(0)
|
||||
item.setText(_translate("ElegantGUI", "New Row"))
|
||||
item = self.UIRFSettings.verticalHeaderItem(1)
|
||||
item.setText(_translate("ElegantGUI", "New Row"))
|
||||
item = self.UIRFSettings.verticalHeaderItem(2)
|
||||
item.setText(_translate("ElegantGUI", "New Row"))
|
||||
item = self.UIRFSettings.verticalHeaderItem(3)
|
||||
item.setText(_translate("ElegantGUI", "New Row"))
|
||||
item = self.UIRFSettings.verticalHeaderItem(4)
|
||||
item.setText(_translate("ElegantGUI", "New Row"))
|
||||
item = self.UIRFSettings.verticalHeaderItem(5)
|
||||
item.setText(_translate("ElegantGUI", "New Row"))
|
||||
item = self.UIRFSettings.horizontalHeaderItem(0)
|
||||
item.setText(_translate("ElegantGUI", "Section"))
|
||||
item = self.UIRFSettings.horizontalHeaderItem(1)
|
||||
item.setText(_translate("ElegantGUI", "Voltage"))
|
||||
item = self.UIRFSettings.horizontalHeaderItem(2)
|
||||
item.setText(_translate("ElegantGUI", "Phase"))
|
||||
item = self.UIRFSettings.horizontalHeaderItem(3)
|
||||
item.setText(_translate("ElegantGUI", "Energy Gain"))
|
||||
__sortingEnabled = self.UIRFSettings.isSortingEnabled()
|
||||
self.UIRFSettings.setSortingEnabled(False)
|
||||
item = self.UIRFSettings.item(0, 0)
|
||||
item.setText(_translate("ElegantGUI", "Injector S-Band"))
|
||||
item = self.UIRFSettings.item(1, 0)
|
||||
item.setText(_translate("ElegantGUI", "Injector X-Band"))
|
||||
item = self.UIRFSettings.item(2, 0)
|
||||
item.setText(_translate("ElegantGUI", "Linac 1 C-Band"))
|
||||
item = self.UIRFSettings.item(3, 0)
|
||||
item.setText(_translate("ElegantGUI", "Linac 2 C-Band"))
|
||||
item = self.UIRFSettings.item(4, 0)
|
||||
item.setText(_translate("ElegantGUI", "Linac 3 C-Band"))
|
||||
item = self.UIRFSettings.item(5, 0)
|
||||
item.setText(_translate("ElegantGUI", "Athos C-Band"))
|
||||
self.UIRFSettings.setSortingEnabled(__sortingEnabled)
|
||||
self.UIUpdateRFSettings.setText(_translate("ElegantGUI", "Update RF Settings"))
|
||||
self.label_4.setText(_translate("ElegantGUI", "Particle Dump Location"))
|
||||
self.UIDeleteDump.setText(_translate("ElegantGUI", "Delete Selected"))
|
||||
self.label_5.setText(_translate("ElegantGUI", "Available Diagnostic Elements"))
|
||||
self.UIAddDiagnosticDump.setText(_translate("ElegantGUI", "Add Selected"))
|
||||
self.label_6.setText(_translate("ElegantGUI", "Available Sections"))
|
||||
self.UIAddSectionDump.setText(_translate("ElegantGUI", "Add Selected"))
|
||||
self.TabMaster.setTabText(self.TabMaster.indexOf(self.tab_2), _translate("ElegantGUI", "Lattice"))
|
||||
self.UIConfigMatching.setText(_translate("ElegantGUI", "Generate Matching File"))
|
||||
self.label_18.setText(_translate("ElegantGUI", "Label"))
|
||||
self.UIMatchingConfigLabel.setText(_translate("ElegantGUI", "Custom"))
|
||||
self.label_22.setText(_translate("ElegantGUI", "Compression in Switchyard (%)"))
|
||||
self.UIMatchConfigSYComp.setText(_translate("ElegantGUI", "0"))
|
||||
self.label_25.setText(_translate("ElegantGUI", "Focal Strength Aramis (%)"))
|
||||
self.UIMatchConfigARFoc.setText(_translate("ElegantGUI", "100"))
|
||||
self.label_27.setText(_translate("ElegantGUI", "Focal Strength Aramis (%)"))
|
||||
self.UIMatchConfigATFoc.setText(_translate("ElegantGUI", "100"))
|
||||
self.UIMatchConfigECOLAsBC.setText(_translate("ElegantGUI", "SARCL02 as BC"))
|
||||
self.label_28.setText(_translate("ElegantGUI", "R56 in SARCL02 (mm)"))
|
||||
self.UIMatchConfigECOLR56.setText(_translate("ElegantGUI", "0"))
|
||||
self.TabMaster.setTabText(self.TabMaster.indexOf(self.tab), _translate("ElegantGUI", "Matching Config (Expert)"))
|
||||
self.menuFile.setTitle(_translate("ElegantGUI", "File"))
|
||||
self.menuHelp.setTitle(_translate("ElegantGUI", "Help"))
|
||||
self.menuMatching.setTitle(_translate("ElegantGUI", "Matching"))
|
||||
|
||||
+217
-596
@@ -7,7 +7,7 @@
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>813</width>
|
||||
<height>775</height>
|
||||
<height>951</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
@@ -24,7 +24,7 @@
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>1</number>
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="tab_3">
|
||||
<attribute name="title">
|
||||
@@ -114,327 +114,27 @@
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_9">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<widget class="QCheckBox" name="UITrackDoLSC">
|
||||
<property name="text">
|
||||
<string>Reference Point</string>
|
||||
<string>Include Longitudinal Space Charge</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="UITrackReference">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_10">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<widget class="QCheckBox" name="UITrackDoCSR">
|
||||
<property name="text">
|
||||
<string>Location</string>
|
||||
<string>Include Coherent Synchrotron Radiation</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="UITrackLocation">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout_3">
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="UIBetax">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>30</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>beta</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QLineEdit" name="UIAlphax">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>0</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QLineEdit" name="UIBetay">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>30</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>eta</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="text">
|
||||
<string>offset</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>eta'</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string>alpha</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QLabel" name="label_30">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>y</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="label_29">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>x</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="2">
|
||||
<widget class="QLineEdit" name="UIAlphay">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>0</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="0">
|
||||
<widget class="QLabel" name="label_8">
|
||||
<property name="text">
|
||||
<string>angle</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QLineEdit" name="UIEtax">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>0</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QLineEdit" name="UIEtapx">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>0</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
<widget class="QLineEdit" name="UIX">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>30</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="1">
|
||||
<widget class="QLineEdit" name="UIPX">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>30</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="2">
|
||||
<widget class="QLineEdit" name="UIEtay">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>30</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="2">
|
||||
<widget class="QLineEdit" name="UIEtapy">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>30</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="2">
|
||||
<widget class="QLineEdit" name="UIY">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>30</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="2">
|
||||
<widget class="QLineEdit" name="UIPY">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>30</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="UIUpdateFromMachine">
|
||||
<property name="text">
|
||||
<string>Update Model from Machine</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_13">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Status</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="UIStatus">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Ignored" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>150</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPlainTextEdit" name="plainTextEdit"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
@@ -713,321 +413,242 @@
|
||||
<attribute name="title">
|
||||
<string>Lattice</string>
|
||||
</attribute>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_9">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_6">
|
||||
<item>
|
||||
<widget class="QPushButton" name="UIMatchSelected">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgb(255, 255, 127);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Match Selected</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_8">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_14">
|
||||
<property name="text">
|
||||
<string>Label</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="UIMatchSequenceLabel">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_15">
|
||||
<property name="text">
|
||||
<string>Matching Order (Closest Reference Point)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QListWidget" name="UIMatchOrder">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>350</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="UIMatchRandom">
|
||||
<property name="text">
|
||||
<string>Random Initialization</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_7">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_21">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Matching Point</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout_5">
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_17">
|
||||
<property name="text">
|
||||
<string>Start</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QLineEdit" name="UIMatchSequence">
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLineEdit" name="UIMatchLabel">
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_11">
|
||||
<property name="text">
|
||||
<string>Sequence</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_16">
|
||||
<property name="text">
|
||||
<string>Match</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="UIMatchStart">
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_12">
|
||||
<property name="text">
|
||||
<string>End</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLineEdit" name="UIMatchEnd">
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_19">
|
||||
<property name="text">
|
||||
<string>Knobs</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTableWidget" name="UIMatchKnobs">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Parameter</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Value</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Limit</string>
|
||||
</property>
|
||||
</column>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_20">
|
||||
<property name="text">
|
||||
<string>Target</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTableWidget" name="UIMatchTargets">
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Location</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Condition</string>
|
||||
</property>
|
||||
</column>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>242</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab">
|
||||
<attribute name="title">
|
||||
<string>Matching Config (Expert)</string>
|
||||
</attribute>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QPushButton" name="UIConfigMatching">
|
||||
<widget class="QPushButton" name="UILoadReference">
|
||||
<property name="text">
|
||||
<string>Generate Matching File</string>
|
||||
<string>Load Settings</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_18">
|
||||
<property name="text">
|
||||
<string>Label</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="UIMatchingConfigLabel">
|
||||
<property name="text">
|
||||
<string>Custom</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>RF Settings</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="Line" name="line">
|
||||
<widget class="QTableWidget" name="UIRFSettings">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<attribute name="horizontalHeaderVisible">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<attribute name="verticalHeaderVisible">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<row>
|
||||
<property name="text">
|
||||
<string>New Row</string>
|
||||
</property>
|
||||
</row>
|
||||
<row>
|
||||
<property name="text">
|
||||
<string>New Row</string>
|
||||
</property>
|
||||
</row>
|
||||
<row>
|
||||
<property name="text">
|
||||
<string>New Row</string>
|
||||
</property>
|
||||
</row>
|
||||
<row>
|
||||
<property name="text">
|
||||
<string>New Row</string>
|
||||
</property>
|
||||
</row>
|
||||
<row>
|
||||
<property name="text">
|
||||
<string>New Row</string>
|
||||
</property>
|
||||
</row>
|
||||
<row>
|
||||
<property name="text">
|
||||
<string>New Row</string>
|
||||
</property>
|
||||
</row>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Section</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Voltage</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Phase</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Energy Gain</string>
|
||||
</property>
|
||||
</column>
|
||||
<item row="0" column="0">
|
||||
<property name="text">
|
||||
<string>Injector S-Band</string>
|
||||
</property>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<property name="text">
|
||||
<string>Injector X-Band</string>
|
||||
</property>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<property name="text">
|
||||
<string>Linac 1 C-Band</string>
|
||||
</property>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<property name="text">
|
||||
<string>Linac 2 C-Band</string>
|
||||
</property>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<property name="text">
|
||||
<string>Linac 3 C-Band</string>
|
||||
</property>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<property name="text">
|
||||
<string>Athos C-Band</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="UIUpdateRFSettings">
|
||||
<property name="text">
|
||||
<string>Update RF Settings</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Particle Dump Location</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QListWidget" name="UIDumpLocation">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="MinimumExpanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="UIDeleteDump">
|
||||
<property name="text">
|
||||
<string>Delete Selected</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_6">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Available Diagnostic Elements</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_22">
|
||||
<property name="text">
|
||||
<string>Compression in Switchyard (%)</string>
|
||||
<widget class="QListWidget" name="UIDiagnosticList">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::MultiSelection</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="UIMatchConfigSYComp">
|
||||
<widget class="QPushButton" name="UIAddDiagnosticDump">
|
||||
<property name="text">
|
||||
<string>0</string>
|
||||
<string>Add Selected</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_25">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Focal Strength Aramis (%)</string>
|
||||
<string>Available Sections</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="UIMatchConfigARFoc">
|
||||
<property name="text">
|
||||
<string>100</string>
|
||||
<widget class="QListWidget" name="UISectionList">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::MultiSelection</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_27">
|
||||
<widget class="QPushButton" name="UIAddSectionDump">
|
||||
<property name="text">
|
||||
<string>Focal Strength Aramis (%)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="UIMatchConfigATFoc">
|
||||
<property name="text">
|
||||
<string>100</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="UIMatchConfigECOLAsBC">
|
||||
<property name="text">
|
||||
<string>SARCL02 as BC</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_28">
|
||||
<property name="text">
|
||||
<string>R56 in SARCL02 (mm)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="UIMatchConfigECOLR56">
|
||||
<property name="text">
|
||||
<string>0</string>
|
||||
<string>Add Selected</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -1047,13 +668,13 @@
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<spacer name="horizontalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>380</width>
|
||||
<width>242</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
|
||||
Reference in New Issue
Block a user