Initial Round of Sandbox implementation
This commit is contained in:
@@ -16,6 +16,43 @@ class Model:
|
||||
# hook up events
|
||||
self.eventHandling()
|
||||
|
||||
def updateEnergy(self,E0):
|
||||
self.om.forceEnergyAt('SINLH02.MBND100', E0*1e6)
|
||||
|
||||
def updateElement(self,name,val):
|
||||
|
||||
if 'MQUA' in name:
|
||||
self.om.setRegExpElement(name[0:7], name[8:15], 'k1', float(val[0]))
|
||||
if 'MSEX' in name:
|
||||
self.om.setRegExpElement(name[0:7], name[8:15], 'k2', float(val[0]))
|
||||
if 'MBND' in name:
|
||||
self.om.setRegExpElement(name[0:7], 'MBND', 'angle', float(val[0]))
|
||||
if 'UMOD' in name:
|
||||
self.om.setRegExpElement(name[0:7], 'UMOD', 'K', float(val[0]))
|
||||
if 'UIND' in name:
|
||||
self.om.setRegExpElement(name[0:7], name[8:15], 'K', float(val[0]))
|
||||
if 'SATUN' in name:
|
||||
kx = 0
|
||||
ky = 1
|
||||
if 'LV' in val[1]:
|
||||
kx = 1
|
||||
ky = 0
|
||||
if 'C' in val[1]:
|
||||
kx = 0.5
|
||||
ky=0.5
|
||||
self.om.setRegExpElement(name[0:7], name[8:15], 'kx', kx)
|
||||
self.om.setRegExpElement(name[0:7], name[8:15], 'ky', ky)
|
||||
if 'RSYS' in name:
|
||||
grad = float(val[0])
|
||||
phase = float(val[1])
|
||||
if 'CB' in name[0:7]:
|
||||
grad = grad/ 4.
|
||||
elif 'XB' in name[0:7] or 'SINSB03' in name or 'SINSB04' in name:
|
||||
grad = grad/2
|
||||
self.om.setRegExpElement(name[0:7], 'RACC', 'Gradient', grad)
|
||||
self.om.setRegExpElement(name[0:7], 'RACC', 'Phase', phase)
|
||||
|
||||
|
||||
def getElements(self):
|
||||
return self.om.listElement('*', 1)
|
||||
|
||||
@@ -62,7 +99,7 @@ class Model:
|
||||
|
||||
|
||||
|
||||
|
||||
##### very old code should be become obsolete after some nice matching files
|
||||
def updateModel(self):
|
||||
file ='SwissFELRef.json'
|
||||
with open(file) as f:
|
||||
@@ -97,6 +134,9 @@ class Model:
|
||||
else:
|
||||
print('Unknown tag:', key, data['settings'][key])
|
||||
|
||||
##############################33
|
||||
# tracking
|
||||
|
||||
def eventHandling(self):
|
||||
self.parent.UITrack.clicked.connect(self.track)
|
||||
|
||||
|
||||
33
sandbox.py
33
sandbox.py
@@ -13,11 +13,38 @@ class Sandbox:
|
||||
def __init__(self, parent=None,machine=False):
|
||||
self.parent=parent
|
||||
self.machine=machine
|
||||
|
||||
self.parent.MagReStart.editingFinished.connect(self.updateSandbox)
|
||||
self.parent.MagReFilter.editingFinished.connect(self.updateSandbox)
|
||||
self.parent.Mach2ModMag.clicked.connect(self.updateModelEvent)
|
||||
self.parent.SB2ModMag.clicked.connect(self.updateModelEvent)
|
||||
self.parent.Mach2ModUnd.clicked.connect(self.updateModelEvent)
|
||||
self.parent.SB2ModUnd.clicked.connect(self.updateModelEvent)
|
||||
|
||||
def updateModelEvent(self):
|
||||
if self.parent.sender() is self.parent.Mach2ModMag:
|
||||
self.updateModel(self.parent.MagSB,2,True)
|
||||
elif self.parent.sender() is self.parent.SB2ModMag:
|
||||
self.updateModel(self.parent.MagSB, 1, True)
|
||||
elif self.parent.sender() is self.parent.Mach2ModUnd:
|
||||
self.updateModel(self.parent.UndSB, 3, False)
|
||||
self.updateModel(self.parent.RFSB, 3, False)
|
||||
elif self.parent.sender() is self.parent.SB2ModUnd:
|
||||
self.updateModel(self.parent.UndSB, 1, False)
|
||||
self.updateModel(self.parent.RFSB, 1, False)
|
||||
|
||||
|
||||
def updateModel(self,sb,col,single):
|
||||
for i in range(sb.rowCount()):
|
||||
field=str(sb.item(i,0).text())
|
||||
val = str(sb.item(i, col).text())
|
||||
if val == '---':
|
||||
continue
|
||||
if single:
|
||||
val = [val]
|
||||
else:
|
||||
val = [val,str(sb.item(i+1,col).text())]
|
||||
self.parent.model.updateElement(field.replace('-','.'),val)
|
||||
self.updateSandbox()
|
||||
|
||||
|
||||
def updateSandbox(self):
|
||||
@@ -61,10 +88,9 @@ class Sandbox:
|
||||
values = []
|
||||
colors = []
|
||||
for key in machine.keys():
|
||||
sbvalue = [key[0:7]]
|
||||
sbvalue = [key[0:7]+'-RSYS']
|
||||
sbcolor = [CWhite]
|
||||
mokey = key[0:7]+'.RACC100'
|
||||
print(mokey)
|
||||
scl=1.
|
||||
if 'CB' in mokey:
|
||||
scl = 4
|
||||
@@ -191,6 +217,5 @@ class Sandbox:
|
||||
sbcol.append(CRed)
|
||||
values.append(sbval)
|
||||
colors.append(sbcol)
|
||||
|
||||
self.updateSandboxCommon(sb, values, colors, labels)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user