Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Finite Burst Sequence With 1 Slow Andor

export EPICS_PVA_ADDR_LIST=172.21.152.78 (allows rix-daq to talk to the XPM, e.g. to program sequences)

...

In [4]: daq.configure(motors=[sim.fast_motor1],group_mask=36, events=0, detname='andor_dirnorm_0', seq_ctl=['DAQ:NEH:XPM:3:SeqReset',9,'DAQ:NEH:XPM:3:SeqDone'])
INFO     configure - configure: 1 motors
INFO     configure - Found readout group 5 for andor_dirnorm_0.
Out[4]: ({}, {})
In [5]: RE(bp.scan([daq], sim.fast_motor1, -10, 10, 5))

...

Code Block
languagepy
(ps-4.5.26) drp-srcf-eb009:lcls2$ python junk4junk5.py
nstep/nevent/nnorm/ndir 0 3239964001 200 32
nstep/nevent/nnorm/ndir 1 3228364001 200 32
nstep/nevent/nnorm/ndir 2 3239964001 200 32
nstep/nevent/nnorm/ndir 3 3228464001 200 32
nstep/nevent/nnorm/ndir 4 3229864001 200 42

(ps-4.5.26) drp-srcf-eb009:lcls2$ morecat junk4junk5.py
from psana import DataSource
import datetime as dt
import numpy as np
import sys

ds = DataSource(exp='rixx1003821',run=5568,dir='/cds/data/psdm/prj/public01/xtc')
myrun = next(ds.runs())
andor_norm = myrun.Detector('andor_norm')
andor_dir = myrun.Detector('andor_dir')

for nstep,step in enumerate(myrun.steps()):
    nnorm = 0
    ndir = 0
    for nevent,evt in enumerate(step.events()):
        norm_value = andor_norm.raw.value(evt)
        dir_value = andor_dir.raw.value(evt)
        if norm_value is not None: nnorm+=1
        if dir_value is not None: ndir+=1
    print('nstep/nevent/nnorm/ndir',nstep,nevent,nnorm,ndir)
    #print('nstep/nevent/nnorm',nstep,nevent,nnorm)
(ps-4.5.26) drp-srcf-eb009:lcls2$ 

Infinite Sequence With 2 Different Slow Andor Rates

The only way to stop a running infinite sequence is to program another sequence.

...