Added support to import LongTrack settings file and to match with user defined twiss values
This commit is contained in:
+13
-2
@@ -87,7 +87,12 @@ class OpticsTools(QtWidgets.QMainWindow, QtCore.QObject, Ui_OpticsGUI):
|
||||
vars = self.getMatchVariables()
|
||||
else:
|
||||
vars = None
|
||||
twiss = self.match.match(self.model.om, variables = vars, Injector = injector,Athos = athos, Aramis = aramis, Porthos = porthos)
|
||||
inittwiss={}
|
||||
inittwiss['betax']=float(str(self.UIInitBetax.text()))
|
||||
inittwiss['betay'] = float(str(self.UIInitBetay.text()))
|
||||
inittwiss['alphax'] = float(str(self.UIInitAlphax.text()))
|
||||
inittwiss['alphay'] = float(str(self.UIInitAlphay.text()))
|
||||
twiss = self.match.match(self.model.om, variables = vars, initCond = inittwiss, Injector = injector,Athos = athos, Aramis = aramis, Porthos = porthos)
|
||||
self.updateMatchResult(self.match.matchresult)
|
||||
energy = self.model.calcEnergyProfile(twiss)
|
||||
#enfore the writing of a new lattice so that the magnet settings are in the new lattice
|
||||
@@ -187,7 +192,7 @@ class OpticsTools(QtWidgets.QMainWindow, QtCore.QObject, Ui_OpticsGUI):
|
||||
"Json Files (*.json)", options=options)
|
||||
if not fileName:
|
||||
return
|
||||
self.saveSettingdirect(fileName)
|
||||
self.saveSettingsdirect(fileName)
|
||||
|
||||
|
||||
|
||||
@@ -206,9 +211,15 @@ class OpticsTools(QtWidgets.QMainWindow, QtCore.QObject, Ui_OpticsGUI):
|
||||
|
||||
|
||||
def loadSettingsdirect(self,fileName):
|
||||
print('Loading settings from %s ...' % fileName)
|
||||
with open(fileName, 'r', encoding='utf-8') as f:
|
||||
settings = json.load(f)
|
||||
status=self.model.loadSettings(settings)
|
||||
if 'InitialCondition' in settings.keys():
|
||||
self.UIInitBetax.setText('%7.3f' % settings['InitialCondition']['betx'])
|
||||
self.UIInitBetay.setText('%7.3f' % settings['InitialCondition']['bety'])
|
||||
self.UIInitAlphax.setText('%7.3f' % settings['InitialCondition']['alfx'])
|
||||
self.UIInitAlphay.setText('%7.3f' % settings['InitialCondition']['alfy'])
|
||||
if status:
|
||||
print('Reference loaded from file %s' % fileName)
|
||||
self.status('Reference file loaded')
|
||||
|
||||
Reference in New Issue
Block a user