#!/bin/env perl use Spectra; my ( $lense_start, $lense_stop, $lense_delta) = ( 800, 850, 10); my ( $open_y, $open_z) = ( -5, 0.5); my $lense_pos = $lense_start; # # move to 'open' positions # if( !Spectra::move( hexa5_moty => $open_y)) { goto finish; } if( !Spectra::move( hexa5_motz => $open_z)) { goto finish; } while( $lense_pos < $lense_stop) { if( !Spectra::move( crl1_z => $lense_pos)) { goto finish; } # # open: -5 # $Spectra::SYM{ generic_scan_name} = "lns_y"; if( !Spectra::scan( device => "hexa5_moty", start => -2.9, stop => -2.1, auto_return => 1, st => 0.1, np => 11, comment => "lense at $lense_pos, motz " . Spectra::gmup( "hexa5_motz"), profile => { timer => [ qw( exp_t01)], counter => [ qw( exp_vfc01 ipetra)], flags => [ qw( write_to_disk 1 display_deadtime 1 bell_on_scan_end 1)],})) { goto finish; } # # open: 0.5 # $Spectra::SYM{ generic_scan_name} = "lns_z"; if( !Spectra::scan( device => "hexa5_motz", start => -0.5, stop => 0.5, auto_return => 1, st => 0.1, np => 11, comment => "lense at $lense_pos, moty " . Spectra::gmup( "hexa5_moty"), profile => { timer => "exp_t01", counter => [ qw( exp_vfc01 ipetra)], flags => [ qw( write_to_disk 1 display_deadtime 1 bell_on_scan_end 1)],})) { goto finish; } $lense_pos += $lense_delta; } finish: ;