Initial Round of Sandbox implementation
This commit is contained in:
@@ -16,17 +16,19 @@ class Model:
|
||||
# hook up events
|
||||
self.eventHandling()
|
||||
|
||||
def getElements(self):
|
||||
return self.om.listElement('*', 1)
|
||||
|
||||
def getSettings(self):
|
||||
elements = self.om.listElement('*',1)
|
||||
elements = self.getElements()
|
||||
quadrupoles={}
|
||||
sextupoles={}
|
||||
dipoles={}
|
||||
rf={}
|
||||
undulators={}
|
||||
kicker={}
|
||||
loc = 'SINLH01.DBAM010'
|
||||
energy={'location': loc, 'energy':self.om.EnergyAt(loc)}
|
||||
loc = 'SINLH02.MBND100'
|
||||
energy={'location': loc, 'energy':self.om.EnergyAt(loc)[0]}
|
||||
for ele in elements:
|
||||
if 'MQUA' in ele.Name:
|
||||
quadrupoles[ele.Name]={'k1':ele.k1,'k1L':ele.k1*ele.Length}
|
||||
@@ -35,10 +37,10 @@ class Model:
|
||||
elif 'MBND' in ele.Name:
|
||||
if 'SINLH' in ele.Name or 'SINBC' in ele.Name or 'S10BC' in ele.Name or 'SATMA' in ele.Name or 'SATUN' in ele.Name:
|
||||
dipoles[ele.Name]={'angle':ele.angle}
|
||||
elif 'UIND' in ele.Name:
|
||||
elif 'UIND' in ele.Name or 'UMOD' in ele.Name:
|
||||
undulators[ele.Name]={'K':ele.K,'kx':ele.kx,'ky':ele.ky}
|
||||
elif 'RACC' in ele.Name:
|
||||
rf[ele.Name]={'Gradient':ele.Gradient,'Phase':ele.Phase}
|
||||
rf[ele.Name]={'Gradient':ele.Gradient*ele.Length,'Phase':ele.Phase}
|
||||
elif 'MKAC' in ele.Name or 'MKDC' in ele.Name:
|
||||
kicker[ele.Name] = {'cory': ele.cory}
|
||||
return {'Quadrupole':quadrupoles,'Sextupole':sextupoles,'Dipole':dipoles,'RF':rf,'Undulator':undulators,'Kicker':kicker,'Energy':energy}
|
||||
|
||||
Reference in New Issue
Block a user