First round of matching
This commit is contained in:
24
matching.py
Normal file
24
matching.py
Normal file
@@ -0,0 +1,24 @@
|
||||
from matchingmanager import MatchManager
|
||||
|
||||
class Matching:
|
||||
def __init__(self,parent=None,model=None):
|
||||
self.parent = parent
|
||||
self.model = model
|
||||
self.manager = MatchManager(parent=parent)
|
||||
self.parent.UIMFodoMatchSingle.clicked.connect(self.matchingFodo)
|
||||
|
||||
def matchingFodo(self):
|
||||
print('matching')
|
||||
par = self.manager.getFODOParameters()
|
||||
if par is None:
|
||||
return
|
||||
quads=par['Quads']
|
||||
vals=par['Init']
|
||||
if par['FlipPol']:
|
||||
vals = [-val for val in vals]
|
||||
var = {name:vals[i] for i,name in enumerate(quads)}
|
||||
cond = {'range':'#e','mux':par['mu'],'muy':par['mu']}
|
||||
twiss,tar = self.model.match(sequence=par['Sequence'], destination=par['Destination'],variables=var, conditions=cond, periodic=True)
|
||||
par['Result']=tar
|
||||
par['Twiss']=twiss
|
||||
self.manager.setFODOParameters(par)
|
||||
Reference in New Issue
Block a user