Startup
This commit is contained in:
@@ -1,79 +0,0 @@
|
||||
slits = ['Primaries horizontal','Primaries Vertical',
|
||||
'ExpBox Tert. horizontal ','ExpBox Tert. vertical',
|
||||
'ExpBox Quart. horizontal','ExpBox Quart. vertical']
|
||||
|
||||
ev = get_string('Please select slits', None, slits)
|
||||
if ev is None:
|
||||
raise Exception("Aborted")
|
||||
|
||||
elif ev == slits[0]: #Primaries-Horizontal after collimating mirror and before mono
|
||||
mmot = phs # slit size
|
||||
smot = phc # slit centre
|
||||
r = 10.0 # scan half range
|
||||
pclose = r/10. # slit size for scan
|
||||
popen = 12.0 # slit size in open position
|
||||
detector = mono_beam
|
||||
#MESSAGE,'Not ready yet',/cont
|
||||
elif ev == slits[0]: #Primaries-Vertical before collimating mirror
|
||||
mmot = pvs
|
||||
smot = pvc
|
||||
r = 2.0
|
||||
pclose = r/10.
|
||||
popen = 2.0
|
||||
detector = mono_beam
|
||||
#MESSAGE,'Not ready yet',/cont
|
||||
elif ev == slits[2]: #Exposure box Tertiary slits-Horizontal before IO
|
||||
mmot = ths
|
||||
smot = thc
|
||||
r = 1.0
|
||||
pclose = r/10.0
|
||||
popen = 1.0
|
||||
detector = Channel('X06DA-ES-BM:I0', 'd')
|
||||
elif ev == slits[0]: #Exposure box Tertiary slits-Vertical
|
||||
mmot = tvs
|
||||
smot = tvc
|
||||
r = 0.4
|
||||
pclose = r/4.
|
||||
popen = .4
|
||||
detector = Channel('X06DA-ES-BM:I0', 'd')
|
||||
elif ev == slits[0]: #Exposure box Quartenary slits-Horizontal after I0
|
||||
mmot = qhs
|
||||
smot = qhc
|
||||
r = 0.4
|
||||
pclose = r/8.
|
||||
popen = .40
|
||||
detector = marcover
|
||||
#MESSAGE,'To make sure the diode is connected',/cont
|
||||
elif ev == slits[5]: #Exposure box Quartenary slits-Vertical
|
||||
mmot = qvs
|
||||
smot = qvc
|
||||
r = 0.3
|
||||
pclose = r/6.
|
||||
popen = .20
|
||||
detector = mono_beam
|
||||
#MESSAGE,'To make sure the diode is connected',/cont
|
||||
|
||||
mmot.write(pclose)
|
||||
result = lscan(smot, detector, -r,r, 20, latency = 0.5, relative = True) #SCAN,smot,-r,r,20,data=d,gfit=a,time=.5,detec=detector
|
||||
(ydata, xdata) = (result.getReadable(0), result.getPositions(0))
|
||||
|
||||
ydata = [x*1e6 for x in ydata]
|
||||
maxy = max(ydata) #MAX(y,im)
|
||||
cen =sum([ydata[i] * xdata[i] for i in range(len(ydata))]) / sum(ydata) #TOTAL(x*y) / TOTAL(y) #TODO: is right?
|
||||
|
||||
|
||||
|
||||
#OPLOT,x,GAUSSFIT(x,y,a,ESTIMATES = [maxy,cen,pclose,0,0,0],nterms=6)*1e-6, color=240,psym=6
|
||||
(n, m, s) = fit(ydata, xdata)
|
||||
|
||||
#help,mmot
|
||||
mmot.write(popen)
|
||||
|
||||
if abs(m) < 1 and abs(m-cen) < 0.5: #TODO: is a(1) the mean?
|
||||
print 'moving centre of slits to: ', m
|
||||
smot.mov(m)
|
||||
else:
|
||||
#PLOTS,cen,[0,maxy]*1e6,color=240,linestyle=1 : #TODO ?
|
||||
msg='fit failed - do you want to drive to centre of mass position: '+ cen +' ?'
|
||||
if get_option(msg, 'YesNo') == 'Yes':
|
||||
smot.mov(cen)
|
||||
Reference in New Issue
Block a user