SPEC: X-ray Diffraction Software

This page contains a list of our Spec macros and what they do.

airvalve.mac Defines user_premove and user_postmove which opens and closes the air valve if the monochromator two theta motor is being moved.
all_macros.mac This will load all important macros, meant to be run after Spec has been installed/reinstalled/or any like procedure that undefines all the macros.
ascan_fp.mac A single motor scan at a fixed pressure.
dref.mac Designed for measurements of reflectivity from monolayers on film balances Determines normalisation constant by one measurement below crit. edge Attempts to optimise counting time and step size bkgd is subtracted when specular signal is less than 1e-5 Tracks dose received by sample and moves whole trough (motor spare) when maxdose exceeded Specular signal is counted against detector, bkgd against monitor
fixpress_new.mac Essentially the same as fixpress_reflec.mac
fixpress_reflec.mac Determines if the trough barrier needs to be moved according to the current surface pressure, the goal surface pressure, and the tolerance.  If the pressure is greater than the goal + tolerance, it moves the barrier back (to increase the area).  If the pressure is less than the goal - tolerance, it moves the barrier forward (to decrease the area).
gid1.mac Sets the reflectometer up for grazing incidence x-ray diffraction.  It runs gid_setup, moves the reflectometer to Bragg reflection 0 0 .018 (hkl), the detector height and angle are then adjusted so the center of the beam is at the bottom of the detector slit (slit 4), then the detector two theta motor is moved to -1 degrees, all the attenuators are taken out, and finally performs a scan with the detector two theta.
gid_setup Inserts attenuator #1 and #4 then opens the horizontal widths of slits 1 and 2 to .2 mm, and 4 to 16 mm.
iotech.mac Defines iotech_reset to reset the Iotech box, atten_in/atten_out to insert or remove attenuators, atten_reset to open all attenuators, av_open/av_close to open/close the air valve.
isonew.mac Defines macros to measure trough pressure (area_meaure), measure trough temperature (temp_measure), calculate trough area (area_calc), setup the isotherm macro (iso_setup), and run an isotherm (isotherm).
isostop.mac Defines two macros: isostop and slewstop, both used to conduct an isotherm that will stop when the surface pressure reaches a given value.
iso_surf.mac The same as isonew.mac, but tailored for use when the Surf computer is setup to work with the Brookhaven trough.
line.mac Defines the line macro which performs an alignment at a Bragg reflection.  It aligns sample height, monochromator tilt, detector two theta, and the detector height.  It then reports the actual angle and resets the motor positions accordingly.
line1.mac Defines line1 which is just like line but doesn't perform a monochromator tilt or detector two theta alignment.  Also defines line2, for checks for total external reflection.
loopy.mac Defines scan_loopy, called by all scans at each iteration.
lscan_fp.mac Defines hklscan_fp and lscan_fp, designed to perform hkl scans at a fixed surface pressure.
lup_mtilt.mac lup_mtilt - lines up monochromator tilt at a reflection.
nite.mac Performs a ref_setup, ref1, gid_setup, and gid1.
press.mac Defines press to print current pressure and area, and temp to print the current temperature.
ref.mac Defines ref to perform reflectivities.
ref1.mac Defines ref1.  Just like ref, but with a few modifications.
ref2.mac ref2 - does a reflectivity from .32 to .5 inverse Angstroms.
ref_setup.mac Defines ref_setup which inserts attenuators 1 and 4 then sets the horizontal widths of slits 1 and 2 to .1 mm and 4 to 1.0 mm.
setup_par.mac Defines setup_par which prints the parameters of the current setup (e.g. lambda, the k vector, sample to monochromator distance, etc.).
setzero.mac setzero sets mtth, mth, mtilt, and tth to their 0 0 0 (hkl) positions (but does not move them).
slewnew.mac Redefines slewscan so it calls scan_loopy instead of scan_loop (due to a delay being in the wrong place).
slits.mac Defines slits to print the current slit positions (motorized only), and sh1, sh2, sh4 which are used to open or close the horizontal spacing for slits 1, 2, and 4.