DMC_grat_scan_nochop

DMC sequence pseudo code:

WAIT                              1     ; have a defined start
LABEL                             0     ; set Label to 0
LOOP                              P#1   ; main loop measurement
   LOOP                           P#2   ; grating loop up
      WAIT                        1     ; sync. for grating
      MOVE_GRATING_RELATIVE       P#3   ; increment grating position
      LABEL                       3     ; first chopper pos.
      WAIT                        P#5   ; take P#5 ramps
      LOOP                        P#6   ; calibration loop
         WAIT                     1     ; sync. for chopper
         MOVE_CHOPPER_ABSOLUTE    P#7   ; chop to BB1
         LABEL                    65    ; BB1
         WAIT                     P#9   ; take P#9 ramps
         WAIT                     1     ; sync. for chopper
         MOVE_CHOPPER_ABSOLUTE    P#8   ; chop to BB2
         LABEL                    129   ; BB2
         WAIT                     P#9   ; take P#9 ramps
      END_LOOP                          ; calibration done
      MOVE_CHOPPER_ABSOLUTE       P#11  ; chopper to default
   END_LOOP                             ; grating scan up done
   LOOP                           P#10  ; grating loop down
      WAIT                        1     ; sync. for grating
      MOVE_GRATING_RELATIVE       P#4   ; decrement grating position
      LABEL                       19    ; first chopper pos.
      WAIT                        P#5   ; take P#5 ramps
      LOOP                        P#6   ; calibration loop
         WAIT                     1     ; sync. for chopper
         MOVE_CHOPPER_ABSOLUTE    P#7   ; chop to BB1
         LABEL                    81    ; BB1
         WAIT                     P#9   ; take P#9 ramps
         WAIT                     1     ; sync. for chopper
         MOVE_CHOPPER_ABSOLUTE    P#8   ; chop to BB2
         LABEL                    145   ; BB2
         WAIT                     P#9   ; take P#9 ramps
      END_LOOP                          ; calibration done
      MOVE_CHOPPER_ABSOLUTE       P#11  ; chopper to default
   END_LOOP                             ; grating scan down done
END_LOOP                                ; main loop done
WAIT                              1     ; complete last plateau
LABEL                             0     ; reset LABEL to 0

The only role of PACS' DMC scripts is the computation of its duration, needed as input variable when starting the associated OBCP.

// Purpose      : Compute duration of DMC Sequence 13 : grating scan without
//                chopping
// Description  : For all internal details about DMC Seq 13, see PACS-ME-LI-005
//                and pseudo code here. Identical to "Grating line scan with
//                two or three position choping" but with out choping on source.
//                Meant mostly for ILT to allow for fast execution of
//                measurements on "absolute" flux sources.
// Comments     : 1. No single command is executed here, only the duration is
//                   computed here. Hence, not all parameters of the actual DMC
//                   Seq. are relevant here!
// Version      : 2.0
// History      : 1.0 05-Apr-2005 Creation by PR
//                2.0 06-Apr-2005 Completed by DAC with pseudo code and
//                                full duration computation.
//                2.1 25-apr-2005 DAC Arranged arguments in P#1,#2 order
//                                Renamed DMC_grat_scan_nochop as OBCP
//

Input variabke(s):

int[] procedure DMC_grat_scan_nochop {
    int nb_up_dn = 1;          // Seq P#1  Nb of sequences: up down up ...
    int nb_grat_steps_up = 10; // Seq P#2  Nb of grating up steps
    int nb_ramps_grat_pos = 2; // Seq P#5  Nb of ramps per grating position
    int nb_CS1_CS2 = 0;        // Seq P#6  Nb of cycles on CS, per grat position
    int nb_ramps_cs = 2;       // Seq P#9  Nb of ramps per plateau on the CS
    int nb_grat_steps_dn = 10; // Seq P#10 Nb of grating down steps
}{