Exemplo n.º 1
0
    def __init__(self):
        #pass
        self.yag5_h5 = ImagerHdf5(camviewer.xcs_yag5)

        with safe_load('lv3118_motors'):
            self.zyla_z = IMS('XCS:USR:MMS:44', name='zyla_z')
            self.zyla_y = IMS('XCS:USR:MMS:43', name='zyla_y')
            self.sam_x = Newport('XCS:USR:MMN:05', name='sam_x')
            self.samyag_y = Newport('XCS:USR:MMN:03', name='samyag_y')
            self.samyag_z = Newport('XCS:USR:MMN:06', name='samyag_z')
Exemplo n.º 2
0
    def __init__(self):

        with safe_load('VH_motors'):
            self.vh_y = IMS('XCS:USR:MMS:15', name='vh_y')
            self.vh_x = IMS('XCS:USR:MMS:16', name='vh_x')
            self.vh_rot = IMS('XCS:USR:MMS:39', name='vh_rot')

        with safe_load('LED'):
            self.led = Trigger('XCS:R42:EVR:01:TRIG9', name='led_delay')
            self.led_uS = MicroToNano()
Exemplo n.º 3
0
    def __init__(self):
        self._sync_markers = {
            0.5: 0,
            1: 1,
            5: 2,
            10: 3,
            30: 4,
            60: 5,
            120: 6,
            360: 7
        }
        with safe_load('Spare Event Sequencer'):
            self.seq2 = EventSequencer('ECS:SYS0:11', name='seq_11')
        with safe_load('PP trigger'):
            self.evr_pp = Trigger('XCS:USR:EVR:TRIG1', name='evr_pp')
        with safe_load('SmarAct'):
            self.las1 = SmarActTipTilt(prefix='XCS:MCS2:01',
                                       tip_pv=':m1',
                                       tilt_pv=':m2',
                                       name='las1')
            self.las2 = SmarActTipTilt(prefix='XCS:MCS2:01',
                                       tip_pv=':m4',
                                       tilt_pv=':m5',
                                       name='las2')
            self.las3 = SmarActTipTilt(prefix='XCS:MCS2:01',
                                       tip_pv=':m7',
                                       tilt_pv=':m8',
                                       name='las3')

#        with safe_load('elog'):
#            kwargs = dict()
#            self.elog = HutchELog.from_conf('XCS', **kwargs)
#

        with safe_load('lw68_motors'):
            self.iStar_focus = Newport('XCS:USR:MMN:06', name='iStar_focus')
            self.bbo_wp = Newport('XCS:USR:MMN:07', name='bbo_wp')
            self.huber_x = IMS('XCS:USR:MMS:40', name='huber_x')
            self.huber_y = IMS('XCS:USR:MMS:37', name='huber_y')
            self.ldx = IMS('XCS:LAM:MMS:06', name='ldx')
            self.ldy = IMS('XCS:LAM:MMS:07', name='ldy')
            self.bs6x = IMS('XCS:LAM:MMS:11', name='bs6x')
            self.bs6y = IMS('XCS:LAM:MMS:12', name='bs6y')
            self.att = IMS('XCS:SB2:MMS:15', name='att')
            # need to chose one ATT motor that does the desired attenuation and identify the two positions to go just in/out. Motor 15 is the 320um filter which does about a factor of 10.

        with safe_load('Triggers'):
            self.gateEVR = Trigger('XCS:R42:EVR:01:TRIG4', name='evr_trig4')
            self.gateEVR_ticks = EpicsSignal('XCS:R42:EVR:01:CTRL.DG4D',
                                             name='evr_trig4_ticks')
            self.GD = self.gateEVR.ns_delay
        self.tx = self.huber_y
        self.ty = gon_sy
        self.tn = self.huber_x
        #self.ty = xcs_gon.ver
        self.lp = LaserShutter('XCS:USR:ao1:7', name='lp')
Exemplo n.º 4
0
 def __init__(self):
     pass
     with safe_load('x533_motors'):
         self.th = IMS('STEP:XRT1:442:MOTR', name='th')
         self.tth = IMS('STEP:XRT1:443:MOTR', name='tth')
         self.xtal_y = IMS('STEP:XRT1:441:MOTR', name='xtal_y')
         self.cam_dis = IMS('STEP:XRT1:444:MOTR', name='cam_dis')
         self.cam_y = IMS('STEP:XRT1:447:MOTR', name='cam_y')
         self.iris = IMS('STEP:XRT1:445:MOTR', name='irs')
Exemplo n.º 5
0
    def __init__(self):
        #pass

        with safe_load('lv3718_motors'):
            #self.JF_y = IMS('XCS:USR:MMS:33', name='JF_y')
            #self.zyla_x = IMS('XCS:USR:MMS:34', name='zyla_x')
            self.sam_y = IMS('XCS:USR:MMS:35', name='sam_y')
            #self.zyla_z = IMS('XCS:USR:MMS:36', name='zyla_z')
            #self.mirror_x = IMS('XCS:USR:MMS:41', name='mirror_x')
            #self.mirror_y = IMS('XCS:USR:MMS:48', name='mirror_y')
            self.zyla_z = IMS('XCS:USR:MMS:44', name='zyla_z')
            self.zyla_y = IMS('XCS:USR:MMS:43', name='zyla_y')
            self.sam_th = IMS('XCS:USR:MMS:45', name='sam_th')
            self.jj2hg = IMS('XCS:USR:MMS:25', name='jj2hg')
            self.jj2ho = IMS('XCS:USR:MMS:26', name='jj2ho')
            self.jj2vg = IMS('XCS:USR:MMS:27', name='jj2vg')
            self.jj2vo = IMS('XCS:USR:MMS:28', name='jj2vo')
            self.samyag_z = Newport('XCS:USR:MMN:03', name='samyag_z')
            self.samyag_y = Newport('XCS:USR:MMN:06', name='samyag_y')
            self.sam_x = Newport('XCS:USR:MMN:05', name='sam_x')
            self.lens_z = IMS('XCS:USR:MMS:07', name='lens_z')
Exemplo n.º 6
0
import matplotlib.pyplot as plt
from time import sleep
import statistics as stat

from pcdsdevices.device_types import IMS
from epics import PV

#from cxi.db import cxi
from cxi.db import cxi_pulsepicker
#from cxi.db import daq

sc3_pulsepicker = PulsePicker('CXI:DS1:MMS:14', name='sc3_pulsepicker')

#defining the DS1 and DS2 z motors
ds1_z_position = IMS('CXI:DS1:MMS:06', name='ds1_z_distance')
ds2_z_position = IMS('CXI:DS2:MMS:06', name='ds2_z_distance')

#defining pv for DsdCspad total intensity from shared memory
sc3_DsdCspad_intensity = PV('CXI:SC3:DIFFRACT:TOTAL_ADU')
sc1_DscCspad_intensity = PV('CXI:SC1:DIFFRACT:TOTAL_ADU')

#making the cxi_pulsepicker something that can be monitored by jet tracking
cxi_pulsepicker_state = PV('XRT:DIA:MMS:16:READ_DF')

#defining quick CSPAD optimization function
tot_intensity = 0


class Jet_chaser(Device):
    sc3_broad_x = Cpt(IMS, ':PI3:MMS:01')
Exemplo n.º 7
0
from hutch_python.utils import safe_load
from pcdsdevices.device_types import Newport, IMS
from xpp.delay_stage import FakeDelay
from xpp.db import scan_pvs
from ophyd.sim import motor as fake_motor

scan_pvs.enable()

with safe_load('fake_delay'):
    fake_delay = FakeDelay('', '', name='fake_delay')

with safe_load('xpp_gon_h'):
    xpp_gon_h = IMS('XPP:GON:MMS:01', name='xpp_gon_h')

with safe_load('xpp_gon_v'):
    xpp_gon_v = IMS('XPP:GON:MMS:02', name='xpp_gon_v')

with safe_load('xpp_gon_r'):
    xpp_gon_r = IMS('XPP:GON:MMS:03', name='xpp_gon_r')

with safe_load('xpp_gon_tip'):
    xpp_gon_tip = IMS('XPP:GON:MMS:04', name='xpp_gon_tip')

with safe_load('xpp_gon_tilt'):
    xpp_gon_tilt = IMS('XPP:GON:MMS:05', name='xpp_gon_tilt')

with safe_load('xpp_gon_z'):
    xpp_gon_z = IMS('XPP:GON:MMS:06', name='xpp_gon_z')

with safe_load('xpp_gon_x'):
    xpp_gon_x = IMS('XPP:GON:MMS:07', name='xpp_gon_x')
Exemplo n.º 8
0
    def __init__(self):
        self.t0 = 894756
        try:
            self.im1l0_h5 = ImagerHdf5(camviewer.im1l0)
            self.im2l0_h5 = ImagerHdf5(camviewer.im2l0)
            self.im3l0_h5 = ImagerHdf5(camviewer.im3l0)
            self.im4l0_h5 = ImagerHdf5(camviewer.im4l0)
            self.gige13_h5 = ImagerHdf5(camviewer.xpp_gige_13)
            self.im1l0_stats = ImagerStats(camviewer.im1l0)
            self.im2l0_stats = ImagerStats(camviewer.im2l0)
            self.im3l0_stats = ImagerStats(camviewer.im3l0)
            self.im4l0_stats = ImagerStats(camviewer.im4l0)
            self.im1l0_stats3 = ImagerStats3(camviewer.im1l0)
            self.im2l0_stats3 = ImagerStats3(camviewer.im2l0)
            self.im3l0_stats3 = ImagerStats3(camviewer.im3l0)
            self.im4l0_stats3 = ImagerStats3(camviewer.im4l0)
        except:
            self.im1l0_h5 = None
            self.im2l0_h5 = None
            self.im3l0_h5 = None
            self.im4l0_h5 = None
            self.im1l0_stats = None
            self.im2l0_stats = None
            self.im3l0_stats = None
            self.im4l0_stats = None
            self.im1l0_stats3 = None
            self.im3l0_stats3 = None
            self.im4l0_stats3 = None
        with safe_load('crl2_xytheta'):
            self.crl2_x = IMS('XPP:USR:PRT:MMS:20', name='crl2_x')
            self.crl2_y = IMS('XPP:USR:PRT:MMS:22', name='crl2_y')
            self.crl2_z = IMS('XPP:USR:PRT:MMS:23', name='crl2_z')
            self.crl2_th_x = Newport('XPP:USR:MMN:05', name='crl2_th_x')
            self.crl2_th_y = Newport('XPP:USR:MMN:04', name='crl2_th_y')

        #########################################################################
        #            Add the axes
        #########################################################################
        with safe_load("grating_1"):
            pass

        with safe_load("CC1"):
            self.t1_x = IMS('XPP:USR:MMS:18', name='t1_x')
            self.t1_y = IMS('XPP:USR:MMS:22', name='t1_y')
            self.t1_th = IMS('XPP:USR:MMS:29', name='t1_th')

        with safe_load("CC2"):
            self.t2_th = IMS('XPP:USR:MMS:23', name='t2_th')

        with safe_load("CC3"):
            self.t3_th = IMS('XPP:USR:MMS:32', name='t3_th')

        with safe_load("CC4"):
            self.t4_x = IMS('XPP:USR:MMS:25', name='t4_x')
            self.t4_th = IMS('XPP:USR:MMS:30', name='t4_th')

        with safe_load("CC5"):
            self.t5_x = IMS('XPP:USR:MMS:21', name='t5_x')
            self.t5_th = IMS('XPP:USR:PRT:MMS:25', name='t5_th')

        with safe_load("CC6"):
            self.t6_x = IMS('XPP:USR:PRT:MMS:24', name='t6_x')
            self.t6_y = IMS('XPP:USR:PRT:MMS:29', name='t6_y')
            self.t6_th = IMS('XPP:USR:PRT:MMS:21', name='t6_th')

        with safe_load("Diagnosis"):
            self.d1_x = IMS('XPP:USR:MMS:17', name='d1_x')
            self.d2_x = IMS('XPP:USR:MMS:24', name='d2_x')
            self.d3_x = IMS('XPP:USR:MMS:31', name='d3_x')
            self.d4_x = IMS('XPP:USR:MMS:26', name='d4_x')
            self.d5_x = IMS('XPP:USR:PRT:MMS:32', name='d5_x')
            self.yag_x = IMS('XPP:USR:PRT:MMS:19', name='yag_x')

        # with safe_load('zyla0'):
        #    self.zyla0_y = IMS('XPP:USR:PRT:MMS:18', name='zyla0_y')
        #    self.zyla0_x = Newport('XPP:USR:PRT:MMN:07', name='zyla0_x')
        # with safe_load('Triggers'):
        #    self.evr_R30E26 = Trigger('XPP:R30:EVR:26:TRIGB', name='evr_R30E26')
        #    self.evr_R30E28 = Trigger('XPP:R30:EVR:28:TRIGB', name='evr_R30E28')
        #    self.evr_R30E26_ticks = EpicsSignal('XPP:R30:EVR:26:CTRL.DGBD', name='evr_R30E26_ticks')
        #    self.evr_R30E28_ticks = EpicsSignal('XPP:R30:EVR:28:CTRL.DGBD', name='evr_R30E28_ticks')
        #    self.GD = self.evr_R30E28.ns_delay

        with safe_load('MPOD'):
            self.diode_bias = MpodChannel('XPP:R39:MPD:CH:100',
                                          name='diode_bias')
Exemplo n.º 9
0
 def __init__(self):
     #pass
 
     with safe_load('x410_motors'):
         self.JF_y = IMS('XCS:USR:MMS:33', name='JF_y')
         self.zyla_x = IMS('XCS:USR:MMS:34', name='zyla_x')
         self.zyla_y = IMS('XCS:USR:MMS:35', name='zyla_y')
         self.zyla_z = IMS('XCS:USR:MMS:36', name='zyla_z')
         self.mirror_x = IMS('XCS:USR:MMS:41', name='mirror_x')
         self.mirror_y = IMS('XCS:USR:MMS:48', name='mirror_y')
         self.sam_x = IMS('XCS:USR:MMS:44', name='sam_x')
         self.sam_y = IMS('XCS:USR:MMS:43', name='sam_y')
         self.sam_th = IMS('XCS:USR:MMS:45', name='sam_th')
         self.huber_Rx = IMS('XCS:USR:MMS:32', name='huber_Rx')
         self.huber_x = IMS('XCS:USR:MMS:30', name='huber_x')
         self.huber_Ry = IMS('XCS:USR:MMS:29', name='huber_Ry')
         self.huber_y = IMS('XCS:USR:MMS:19', name='huber_y')
         self.jj2hg = IMS('XCS:USR:MMS:25', name='jj2hg')
         self.jj2ho = IMS('XCS:USR:MMS:26', name='jj2ho')
         self.jj2vg = IMS('XCS:USR:MMS:27', name='jj2vg')
         self.jj2vo = IMS('XCS:USR:MMS:28', name='jj2vo')
         self.bs_x = Newport('XCS:USR:MMN:03', name='bs_x')
         self.bs_y = Newport('XCS:USR:MMN:06', name='bs_y')
         self.JF_x = Newport('XCS:USR:MMN:05', name='JF_x')
         self.lens_z = IMS('XCS:USR:MMS:07',name = 'lens_z')