12.07.2015 Views

spec - Local Sector 7 web page

spec - Local Sector 7 web page

spec - Local Sector 7 web page

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

The Scan Macros In DetailAll the scan macros in the standard package share a similar structure. To keep theformat of the output sent to the data file, printer and screen consistent, commonparts of each scan are defined as macros that are called by all the scans. For example,the scan_head macro is called by each scan to write scan headers on all the outputfiles and devices. Certain macros are shared by all the scans for another reason.Special operating modes or options are implemented by redefining shared macros.For example, the scan_move macro, called within the looping portion of the scans, isnormally defined as _move ,which is:def _move’move_em; waitmove; getangles; calcHKL’In powder mode, scan_move is defined as _pmove ,aslightly more complicated macro,designed to move the designated powder averaging motor some width on alternatingsides of the center trajectory of the scan,def _pmove ’if (_stype&2)_cp = A[_pmot]A[_pmot] = _cp + _pwid/2_pwid = -_pwidmove_em; waitmove; getangles; A[_pmot] = _cp; calcHKL’The following paragraphs explain in detail the construction of the scan macros, usingthe single-motor scan, ascan ,asanexample. Here is its definition:def ascan ’if ($# != 5) {print "Usage: ascan motor start finish intervals time"exit}_check0 "$1"{ _m1 = $1; _s1 = $2; _f1 = $3; _n1 = int($4); _ctime = $5 }if (_n1

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!