RUMP: Main level commands


This command reference section deals only with commands which are specific to RUMP. Lower level commands common to RUMP and GENPLOT are fully described in other sections of the manual. We have attempted to clearly identify which commands operate identically between the two packages as well as point out specific incompatibilities in the commands. Even if you are an old user of RUMP, some commands have changed considerably and we ask that you please read through section 1 of the GENPLOT manual.
Basic Plotting Commands
Plot Erase screen and plot spectrum from buffer or file
OVerlay Overlay spectrum from file or buffer on current plot
REplot Plot the currently active spectrum
AXis Draw axes only
COMPare Plot active and simulation buffers
BLowup Plot region of spectrum on an expanded vertical scale
EXpand Set region to a subset of current region and replot
BYe Quit and exit program completely
Quit Quit and exit program completely

Plot Scaling and Axes Layout
PARMS Display current plot parameters
REGion Set the channel range
FOrcex Force channel scale to be exactly as specified
COunts Set the range of the YIELD axis
LInear Specify linear mode for YIELD axis
SQrt Specify square root mode for YIELD axis
LOg Specify Logarithmic mode for YIELD axis
NOrmalize Specify YIELD to be plotted in normalized units
RAw Specify YIELD to be plotted as raw data
LAbels Set degree of labeling for axes
GENPLOT Cmds Common layout commands inherited from GENPLOT

RUMP Buffers Control
BUFfers Display current buffer status
REad Point at buffer with file or read RBS file into buffer 1
GET Point at buffer or read an RBS file into buffers
RERead Force rereads current buffer into buffer 1
SWALLOW Load ASCII data into buffer as counts per channel
POintat Point at a specific buffer by number
WRITE Writes current buffer to another file
SAVE Rewrites current buffer to a file with corrections
REWrite Rewrites current buffer to a file with corrections
WRASCII Writes current buffer to an text file
EMpty Scrolls the data and leaves an empty buffer 1
RECALculate Mark sample structure as modified to force recalculation
RELEASE Release the ACTIVE buffer and scroll remaining up
NEWall Clear all buffers and zero all data

Listing and Modifying Spectrum Parameters
ACtive List the parameters of the active buffer
BEAM Type of incident beam (He++)
CHarge Measured beam dose in µC
CHOFF Channel number of first data point
CONVersion Channel to energy conversion constants
CORrection Minor fudge factor for normalization correction
CURRent Average beam current (pileup calculations)
DATE Date of data collection
FILE Spectrum file name
FWHM Detector resolution (keV)
GEOMetry Scattering geometry used
IDEntifier Description identifier of the spectrum
MEV Beam energy
OMEGA Detector solid angle
PHI Supplement of the scattering angle
PSI Angle of surface normal to detected beam
THEta Sample tilt or angle of surface normal to incident beam

Manipulating and Massaging Data and Buffers
ADD Add two spectra
BACKground Background fit and subtraction
COPY Copy one buffer to another
COMPRess Compress channels to improve statistics
MOVE Exchange the data in two buffers
DIVide Calculate a $\chi_{min}$ plot
SMOoth Smooth the data
SUBTRact Subtract two spectra

RBS Analysis
CALibrate Calibrate CONV and MEV from spectra
CURsor Displays a cursor and returns energy/yield values
ELement Indicates scattering energy for an element
INFo Prints information about an element
INTegral Finds integral over a region
MATrix Plots energy and yield expected for a pure element
THICkness Calculates thickness from area integral
WHATisit Identifies elements near a specified channel
WIDth_thick Calculates thickness based on energy width
INTSET Sets integration modes for THICKNESS and INTEGRAL commands
PROFILE Profiles single element based on real spectrum
DISPLAY Profiles the composition of the SIM sample structure



Basic Plotting Commands

Plot Erase screen and plot spectrum from buffer or file
OVerlay Overlay spectrum from file or buffer on current plot
REplot Plot the currently active spectrum
AXis Draw axes only
COMPare Plot active and simulation buffers
BLowup Plot region of spectrum on an expanded vertical scale
EXpand Set region to a subset of current region and replot
BYe Quit and exit program completely
Quit Quit and exit program completely


Plot
Brief: Plot data file or specific buffer
Syntax: PLot [file | buffer # | SIM | MAIN | ALT | LAST | NOW | THeory]
Options: -ids

The PLOT command is the basic command for drawing axes and spectrum to the active graphics device. Normally, the screen is erased (or a new page obtained), the axes are drawn and the requested spectrum is plotted. The data are drawn using the current line type and symbol type. If the autoids option is selected, the identifier string from the spectrum will also be drawn on the plot.

A filename or buffer number must be specified in RUMP version of the PLOT command. If a number between 0 and 10 is specified, it is assumed to refer to a buffer and that buffer plotted. The simulation buffer will be updated if necessary. If any buffer other than 0 is plotted, it becomes the ACTIVE buffer after this command. If the simulation buffer 0 is plotted, the ACTIVE buffer remains unchanged.

If a buffer number is not specified in PLOT, the token is compared first to a number of special names. The names SIM, ALT and THeory refer to the simulation buffer 0 and hence PLOT THEORY is equivalent to the command PLOT 0 described above. The name MAIN likewise refers to buffer 1 while NOW and LAST refer to the currently ACTIVE buffer. These names should not be used for normal data files.

If the token following PLOT is neither a number nor a special name, it is assumed to be a valid filename with a default extension of .RBS. The current buffers are first searched for one already containing that filename (full pathname is checked). If found, the buffer becomes ACTIVE and PLOT operates as described above. If no buffer currently contains the file, the buffers are scrolled down to create an empty buffer 1 and the file is read into buffer 1. The original buffer 10 is lost in the process (even if the file read fails). The ACTIVE pointer is set to buffer 1 and the spectrum is plotted.

The selection of a buffer occurs before any plotting. The scale for the YIELD axis (if autoranging) and the conversion from channel number to energy are determined from the plotted buffer. The channel number range is converted to the equivalent energy range through the CONV parameters SCALE1 and SCALE2. For a PLOT'ed spectra, both energy and channel scales are always correct.

The yield can be plotted either as a raw counts per channel or as a normalized yield, selected by the RAW or NORMALIZED commands. In the normalized mode, the yield is normalized to conditions of 1 keV channel energy width, 1 µC of single plus equivalent charge, and a 1 msr detector solid angle. This normalization should allow direct comparison of any spectra obtained at the same incident energy in the same scattering geometry. (Note: Charge equivalency treats 2 µC of He++ the same as 1 µC of He+.)

Return to section level or top level index.


Overlay
Brief: Overlay a spectrum on existing axes
Syntax: OVerlay [file | buffer # | SIM | MAIN | ALT | LAST | NOW | THeory]
Options: -ids

OVERLAY operates identically to PLOT with the exception that no axes are drawn. Existing energy and yield scales are used allowing comparison of numerous spectra. Plotting is always done based on the energy scale, not the channel scale, allowing overlay of data from different multichannel analyzers. The channel axes will correct only for the first spectrum plotted unless all spectra have the same CONV constants. The energy scale is always correct however. Since OVERLAY also uses the current yield range, data may extend offscale if the range is inappropriate.

Return to section level or top level index.


Replot
Brief: Replot most currently ACTIVE buffer
Syntax: REplot

The REPLOT command is synonymous with PLOT NOW. It quickly replots the ACTIVE buffer with a little less typing.

Return to section level or top level index.


Axis
Brief: Erases screen and draws the axes
Syntax: AXis

The AXIS command normally erases the screen and displays a new set of axes. The conversion between energy and channel number and the yield scale are determined from the currently ACTIVE buffer (see PLOT above). If the ACTIVE buffer contains no valid spectra data, a warning message indicating that the axes values are out of range may be issued.

Return to section level or top level index.


Compare
Brief: Compare ACTIVE buffer to simulation buffer
Syntax: COMPare

The COMPARE command is another command designed to reduce typing. It is equivalent to PLOT NOW LTYPE 1 OV THEORY LTYPE <old>. The ACTIVE buffer is plotted in the current line and symbol types and the simulation buffer is overlaid as a solid line. The line type is returned to its previous value.

Return to section level or top level index.


Blowup
Brief: Expand vertical scales for region of data
Syntax: BLowup <cursor marks><factor>

The BLOWUP command allows you to expand the vertical scale for a portion of your data to see, for example, a small impurity peak. The cursor marks a region to be expanded and an expansion factor is read from the command line. Data from the current ACTIVE buffer is overlaid on the plot using the current symbol or line type over only the identified region with the specified expansion factor. The channel range may be selected using either the cursor or the keyboard (press to escape from cursor to keyboard input mode). The actual data in the ACTIVE buffer is not modified and hence subsequent plots are not automatically expanded.

Return to section level or top level index.


Expand
Brief: Expand plot show only a subset region
Syntax: EXpand <cursor marks>

EXPAND is a useful combination of two operations: a) use of the cursor to define a new region and b) a replot of the ACTIVE buffer. Note that EXPAND redefines the plot region as in the REGION command below and that only the ACTIVE buffer is redrawn. Other spectra on the current plot will not be redrawn over the expanded range.

Return to section level or top level index.


Quit
Brief: Exits back to system from the RUMP program
Syntax: QUIT or BYE

This command should be obvious (hopefully). All buffer and status information is lost when you exit, as are any modifications to buffers which have not been saved. If a HCOPY, temporary MACRO or SCRIPT file is active, they will be disposed of as appropriate (possibly with user input).

Return to section level or top level index.



Plot Scaling and Axes Layout

PARMS Display current plot parameters
REGion Set the channel range
FOrcex Force channel scale to be exactly as specified
COunts Set the range of the YIELD axis
LInear Specify linear mode for YIELD axis
SQrt Specify square root mode for YIELD axis
LOg Specify Logarithmic mode for YIELD axis
NOrmalize Specify YIELD to be plotted in normalized units
RAw Specify YIELD to be plotted as raw data
LAbels Set degree of labeling for axes
GENPLOT Cmds Common layout commands inherited from GENPLOT


Parms
Brief: Displays some internal plotting status parameters
Syntax: Parms

The PARMS commands displays some of the plotting and scaling information to the screen. See Section D for additional information on the plot size and device information. The lower section indicates the range of the channel data output, the scaling for the yield (Max Counts), type of yield scale (LINEAR, SQRT or LOG), and the current linetype, symbol and npoint values.


 Plot device: AUTO
 Size:      9.00 by   7.30           Shrink:  1.000
 Offset:    0.50 by   0.00           Pen:      1 of max   7
 Margin:    0.85 by   0.85           Speed:   18
 Hard copy not initialized

  Min-Max Channels:   100.0  600.0     Max Counts:  Autoscaled
  Scale is linear, normalized yield.
  Linetype:  0   Symbol:  0   Npoints:  1

 Minor tick marks are disabled.
 Current directory: C:\RUMP\EXAMPLES
 Session SCRIPT file: r.cmd

Return to section level or top level index.


Region
Brief: Set the channel range
Syntax: REgion <lower-channel><upper-channel>

Set the region of the lower axes in channel numbers. The region to be plotted is always specified in terms of channels but plotting is actually performed in terms of energy. The specified channels may be rounded off to close values to give nicer plot scales. See FORCEX and SGRAPH to disable the roundoff and force the scales to cover a specified region.

Return to section level or top level index.


ForceX
Brief: Force channel numbers to be exact
Syntax: FOrcex [ON | off]

Normally, the channel numbers specified by the REGION command or by an EXPAND command are ``rounded out'' to closest reasonable whole numbers. This roundoff feature can be disabled by setting FORCEX ON. Be sure though, when enabled, not to specify a zero length region. The extension of the lower boundary of a REGION command to zero can also be disabled (or controlled) by setting the ZFORCE variable using SET ZFORCE=0 (also see SGRAPH).

Return to section level or top level index.


Counts
Brief: Set the range for yield axis of the plot
Syntax: COunts <max-yield-range>

The range for the YIELD axis is controlled by the COUNTS commands. The YIELD axis will always begin at zero and extend to the specified maximum. If the COUNTS is specified as zero, RUMP will perform autoranging of the axis so the entire plotted range of the ACTIVE buffer fits on screen. If non-zero, the specified value is used without rounding. While the meaning of the numbers on the yield axis depends on the mode of the axis (LINEAR, LOG, or SQRT), setting of COUNTS should always be in terms of the maximum linear count. For example, in logarithmic mode 100,000 counts for the upper limit is a COUNTS 10000, not COUNTS 5. When switching between modes, if YIELD is not in autoscale mode the current setting of COUNTS is ``translated'' to the the new mode. However, COUNTS is translated when switching between normalized and raw mode; new values must be set corresponding to the current setting.

Return to section level or top level index.


Linear/Log/Sqrt
Brief: Set Y axis scales to linear, logarithmic or square root (equal statistics) mode
Syntax: LInear
LOg
SQrt

The LINEAR mode is the default mode for displaying the yield information. In this mode, peak heights and areas appear visually correct and it is easy to estimate compositions or concentrations. While the LINEAR is most common, the SQRT mode is statistically more accurate. In SQRT mode, the value plotted is the square root of the number of counts in each channel. In this mode, noise due to counting statistics is independent of the absolute yield magnitude and equal visual weight is given to features of equal statistical significance. The LOG mode is seldom used in RBS but is useful for spectra covering a wide dynamic range such as PIXE data. The common logarithm (base 10) of the data is plotted and the lower range limit is fixed at -2 for normalized data and 0 for raw mode data.

Return to section level or top level index.


Raw/Normalize
Brief: Set Y axis to display either raw or normalized channel yield data
Syntax: RAw
NOrmalize

The YIELD axis can be displayed as either the raw number of counts per channel or as a normalized yield where experimental differences between data are eliminated by scaling. The commands RAW and NORMAL switch between these two modes. In raw mode, the channel data is plotted exactly as recorded by the Multi-Channel Analyzer (MCA). In normalized mode, the data is plotted based on the normalization of

   Yield = {{Counts * Corr} \over {Q * d\Omega * \Delta E_{chan}}} $$

The units for normalization are beam dose Q in µCoulombs equivalents of He+ (ie. measured charge for He++ is divided by two), solid angles $d\Omega$ in milli--steradians, and the MCA channel width \Delta Echan in keV. A fudge factor CORR allows for fine tuning of the beam charge to compensate for inaccuracies during charge integration caused by inadequate secondary electron suppression.

In the normalized mode, yield curves should always be directly comparable between experiments if the beam energy and scattering geometry are the same.

Return to section level or top level index.


Labels
Brief: Set axis labeling mode
Syntax: LABELS [ON | BRIEF | OFF]

The LABELS command sets the mode of axis labeling. On slow plotting terminals, its use can make eliminate the time wasted putting up the coordinate labels on the screen. Alternatively, the labels can be completely suppressed in a final output allowing a draftsperson (non-sexist) to label the plot for publication. The default mode is on.

The three modes are:

ON Full labels: the complete title of each axis is given, and each major tick mark is labeled.
BRIEF Partial labels: an abbreviated title of each axis is given, and the two end major tick marks are labeled. This mode is recommended for routine use on slow graphics devices as it is faster than the ON mode.
OFF No labels: No text at all is drawn on the plot. This can be used if a draftsperson is to complete the artwork.

In both the ON and BRIEFmodes, labeling conforms to AIP standards for publication quality plots. Minor tick marks are normally suppressed in publication plots and this is the default mode for RUMP. Minor tick marks may be re-enabled using the SUBTICKS command.

Return to section level or top level index.


Inherited commands from GENPLOT

Most of the commands which control the plot layout and curve description (line type or symbol type for curves) are essentially identical between GENPLOT and RUMP. The following table refers to other sections of this manual where the corresponding commands are described. Commands marked with * are implemented by the graphics support libraries and consequently are absolutely identical to the GENPLOT equivalent. Other commands should behave in the same manner as the GENPLOT documentation but are implemented by RUMP instead and may consequently show subtle differences.

Section A --- Device Control
CLS* Clear the text screen
DEvice* Select plotting device
SPeed* Set the plotter pen speed
HCopy* Save plot vectors -- allows replay on hard copy device

Section B --- Basic Plotting
AUtoids Automatically use IDENT string as a legend
AUTOErase* Set whether screen erased withPLOT
ERase* Erase the screen or start a new page
IDs Put the IDENT string of buffer in the legend
NPoints Point plotting interval
TIMEStamp* Put the date on the plot

Section D --- Line Control
COLor* Select the line color
LType Select line type for subsequent drawing
LINEWidth* Set line thickness on appropriate plotters
PEn* Select the pen color
SYmbol Select symbol used for plotting
VECsize* Set the length of dashes in dashed lines
VISibili* Set line visibility

Section E --- Plot Appearance
CHARActer Select character set
CHRset* Select character set
SUBTIcks Toggle subtick mark display

Section I --- Labeling
ANNOTE* Sub--process for annotating the plot

Section F --- Size and Position
OFfset* Controls plot offset
SHrink* Scale entire plot to shrink
SIZe* Set the paper size
MARGins* Set the margins around the plot for labels
FLIPXY* Flip the X and Y axes on the page
SUB_Plot* Adjust size/offset to create a plot within a plot

Section M --- Miscellaneous
SGRAph* Set various plot parameters

*  -->Identical to GENPLOT command

Return to section level or top level index.



RUMP Buffers

BUFfers Display current buffer status
REad Point at buffer with file or read RBS file into buffer 1
GET Point at buffer or read an RBS file into buffers
RERead Force rereads current buffer into buffer 1
SWALLOW Load ASCII data into buffer as counts per channel
POintat Point at a specific buffer by number
WRITE Writes current buffer to another file
SAVE Rewrites current buffer to a file with corrections
REWrite Rewrites current buffer to a file with corrections
WRASCII Writes current buffer to an text file
EMpty Scrolls the data and leaves an empty buffer 1
RECALculate Mark sample structure as modified to force recalculation
RELEASE Release the ACTIVE buffer and scroll remaining up
NEWall Clear all buffers and zero all data


Buffers
Brief: Display RUMP buffer status
Syntax: BUffers

Every PLOT, OVERLAY, or READ command either points to a spectrum in memory or reads a new file into the temporary buffer space (see General Concepts at beginning of RUMP manual). Buffers are referred to by number and the contents of the buffers can be determined using the BUFFERS command. The BUFFERS command summarizes the current contents of each buffer. Special buffers and any unused buffers are not listed by this command.

The BUFFERS command lists all non-empty files by buffer number. Following the buffer number are two special flags described below. The last 20 characters of the entire pathname for the source file are shown next followed by the identifier text for each buffer. The most recent buffer plotted or otherwise acted upon is called the ACTIVE buffer. It is designated by the `*' in the BUFFERS display before the buffer number. You can explicitly make any buffer the ACTIVE buffer using the POINTAT command. RUMP never points to the simulation buffer (0) unless you explicitly request so with the POINTAT command.

Two other special markings used in the buffers listing indicate modifications to the buffer. The `@' marking indicates files where the experimental parameters in the buffer have been modified using commands such as MEV or CONV. Buffers marked with a `?' indicate that the actual spectrum data (counts in the channel) in the buffer has been changed by a command such as the background subtraction or the data smoothing. All WRITE commands will prompt for verification before writing out buffers with modified data. No verification is necessary if only header information has been modified.


At your service! buf
* =>Main    ? =>Dirty    @ =>Parameters changed
  Main    1    c:\psmith\new\wb.rbs  sput w, 300 sec in ar
  Buffer  2 ?  c:\psmith\new\wa.rbs  sput w, 300 sec in n2
 *Buffer  3    psmith\new\sputw.rbs  sputtered w, as deposited
  Buffer  4  @ psmith\new\qq_40.rbs  WSi on Si in Ar for 5 minutes
  Buffer  5    psmith\new\ii_40.rbs  WSi on Si in N2
  Buffer  6    ith\new\e1-w1-n2.rbs  sample e1-w1, 300 sec in N2
Your wish? 

Return to section level or top level index.


Read
Brief: Read a spectra file from disk
Syntax: REad <filename>
Synonym: GET

This command obtains a spectrum, from disk if necessary, and makes it the ACTIVE buffer. Either a true filename, a buffer number, or one of the special names listed under the PLOT command may be specified as the filename. If the filename already exists as one of the buffers, that buffer is simply made active. Otherwise, READ scrolls the buffers creating a empty buffer 1 and reads the file into buffer 1. Buffer 10 is lost in the process. The ACTIVE buffer is set to the buffer containing the file. Each time a file is read, the filename and the ID of the file are echoed to the screen.

Wildcard filenames may also be specified to READ. In the case of wildcards, the process is repeated for every file which matches the wildcard name. All RBS files could be read, for example, using the command READ *.RBS. Each matching file is retrieved into a unique buffers. If more matches occur than there are buffers, RUMP will stop reading once all the buffers have been filled by the command. A warning message indicating that the maximum number have been read is displayed in this event.

GET is the normal manner in which the ACTIVE buffer is changed. Specifying GET 3 or GET aa_40.rbs will change the ACTIVE pointer to the appropriate buffer.


I want a cookie!! /* Have an Oreo!
I want a cookie!! read \psmith\new\*.rbs
File: c:\psmith\new\aa_40.rbs
Id:   WSi on Si, control
File: c:\psmith\new\e-beam-i.rbs
Id:   e-beam w, as implanted
   .........
File: c:\psmith\new\wb.rbs
Id:   sput w, 300 sec in ar
WARNING: Maximum number read - All buffers filled
Your wish? get aa_40
Yes master?

Return to section level or top level index.


Reread
Brief: Read a file that was already read
Syntax: RERead <filename>

Under normal conditions, RUMP will always return to the buffer already containing a given file if it is requested again. Under some circumstances, such as after a failed background subtract, it is necessary to bypass this and force RUMP to read the file off the disk. At other times, one may just want to return to the original settings of the experimental parameters. REREAD performs this action by changing the extension of the filename associated with the ACTIVE buffer to .OLD. The original filename is then reread from disk into buffer 1. Note that the original buffer remains but has a new name. The original buffer 10 is lost in the shuffle since a new file is added to the buffer stack. It is difficult to reread a file if you originally gave the data file an .OLD extension. The ACTIVE buffer points to the reread copy of the file after this command.


Next command: reread    /* ACTIVE was buffer 2
File: c:\psmith\new\wb.rbs
Id:   sput w, 300 sec in ar
Your wish? buf
* =>Main    ? =>Dirty    @ =>Parameters changed
 *Main    1    c:\psmith\new\wb.rbs  sput w, 300 sec in ar
  Buffer  3    c:\psmith\new\wa.rbs  sput w, 300 sec in n2
  Buffer  2    c:\psmith\new\wb.old  sput w, 300 sec in ar
  Buffer  4    psmith\new\sputw.rbs  sputtered w, as deposited
You called? 

Return to section level or top level index.


Swallow
Brief: Load data as counts of the active buffer
Syntax: SWALLOW <channel data>

The SWALLOW command is primarily intended for macro files to load in non-RUMP format stored ASCII channel data. It permits the reading of ASCII data directly into the counts array of the ACTIVE buffer. Channel data is read from the command line (or the active macro) one element at a time until a blank entry (or the default value) is entered. Multiple channels of data are allowed on each line. The WRASCII command, which generates a macro file to reload data in a pure ASCII format, uses the SWALLOW command. The following macro file will load in a spectrum segment using the SWALLOW command. (Note the blank line used to terminate the swallow read.) The command XEQ <file> would be used to actually load the segment.


/* Open a blank buffer and start swallowing the data
empty swallow
   0    0    0    0    0    0    0    0    0    0    0    0
   0    0    0    0    0    2   29  223  485  786 1049 1231
1373 1416 1504 1557 1567 1517 1539 1507 1553 1463 1516 1458
1411 1478 1326 1417 1428 1375 1344 1306 1279 1238 1219 1289
1246 1264 1192 1220 1212 1200 1166 1123 1142 1181 1137 1131
1061 1065 1076 1042 1088 1110 1070 1086 1078 1017 1057 1062

/* After a blank line to terminate SWALLOW, set parameters
mev  3.02 charge 10 covers 4.95 1.6 theta 7 phi 9 omega 3.4
corr 1.0  fwhm 25 ident 'This is test swallow data'
See also:WRASCII

Return to section level or top level index.


Rewrite
Brief: Rewrites current buffer to a file with corrections
Syntax: REWrite

Synonym: SAVE

Rewrites current buffer to the current file with corrections. SeeParameter Modifcation.

Return to section level or top level index.


Write
Brief: Writes current buffer to another file
Syntax: WRITE <filename>

Writes the current buffer to another file.

Return to section level or top level index.


WRAscii
Brief: Writes current buffer to a text file
Syntax: WRASCII <filename>

Writes current buffer to a text file suitable for reading with SWALLOW.

See also:SWALLOW

Return to section level or top level index.


Pointat
Brief: Set the active buffer
Syntax: POintat <buffer n>

POINTAT allows the ACTIVE pointer to be set to any buffer, including the simulation and temporary buffers. Other than the requirement that it must point to a configured buffer, no check is made to determine if the buffer is filled with valid data. POINTAT is the only command which will leave the ACTIVE buffer pointing to the simulation or temporary buffer space.

Return to section level or top level index.


Empty
Brief: Scroll buffers to leave an empty buffer 1
Syntax: EMpty

EMPTY causes the current list of buffers to be scrolled with an empty buffer left as buffer 1. Buffer 10 is lost in the process. All parameters in buffer 1 are set to defaults, the data is set to all zero, the number of points is to the maximum and the buffer is marked as ACTIVE. This command can be used with the SWALLOW command below to read in ASCII data.

Return to section level or top level index.


Recalculate
Brief: Mark sample structure as modified so recalculated
Syntax: RECALculate

Normally RUMP tracks the status of the theory buffer. It marks the buffer as being out of date if either the sample structure is modified or if the experimental parameters are changed (such as changing the ACTIVE buffer). However, it does not track modifications to the actual theory buffer data (such as a BACKGROUND subtract) nor can it track modifications to sample parameters which are linked to the function evaluator (such as in EQUATION USER). The RECALC command is a manual override to the automatic feature and simply marks the theory buffer as being out of date. The next reference to the theory buffer following this command will cause the simulation to be recalculated.

Return to section level or top level index.


Release
Brief: Release the ACTIVE buffer and unscroll
Syntax: RELease

Buffers can be intentionally released for general use by the RELEASE command. The data in the buffer is forgotten and all parameters for the buffer are reset to default values. The remaining buffers are unscrolled to fill in the space vacated by the released buffer. Releasing buffer 2 causes buffer 3 to become 2, 4 to become 3 etc. It is not possible to retrieve the data in the buffer once it is released. You must read the file back into memory directly. RELEASE is primarily used in macro files to maintain control over which data files remain active.

Return to section level or top level index.


Newall
Brief: Reset all parameters and clear all buffers
Syntax: NEWall

The NEWALL command `forgets' completely about the current buffers and resets all parameters in the buffers to default values. It returns the buffer stack to the same state as when RUMP was initiated. This command is commonly used with macros to clear all previous reads when it is necessary to ensure the order of files in the buffers.

Return to section level or top level index.



Listing and Modifying Spectrum Parameters

ACtive List the parameters of the active buffer
BEAM Type of incident beam (He++)
CHarge Measured beam dose in µC
CHOFF Channel number of first data point
CONVersion Channel to energy conversion constants
CORrection Minor fudge factor for normalization correction
CURRent Average beam current (pileup calculations)
DATE Date of data collection
FILE Spectrum file name
FWHM Detector resolution (keV)
GEOMetry Scattering geometry used
IDEntifier Description identifier of the spectrum
MEV Beam energy
OMEGA Detector solid angle
PHI Supplement of the scattering angle
PSI Angle of surface normal to detected beam
THEta Sample tilt or angle of surface normal to incident beam


Active
Brief: List the parameters of the active buffer
Syntax: ACtive

Each buffer includes information on the experimental parameters used in the data collection process. These parameters are also stored in the data files. The values for the parameters of the ACTIVE buffer are listed to the screen using the ACTIVE command. This listing is organized so that related parameters are listed together on the same line. The commands described below allow most of the parameters to be modified.


Ready if you are! buf
* =>Main    ? =>Dirty    @ =>Parameters changed
  Theory  0    temp.rbs              Simulation of Ni/Ni-Si/Si
 *Main    1    rump\tests\examp.rbs  Ni/NiSi/Si Annealed 90 min
Your wish? active
 Filename:    c:\rump\tests\examp.rbs
 Identifier:  Ni/NiSi/Si Annealed 90 min
 LTCT Text:   LT= 857 CT= 860
 Date:        18-JUN-1985 12:33:48.48
 Beam:        3.020 MeV     4He++   10.00 uCoul   @  8.0 nA
 Geometry:    Cornell  Theta:    7.0  Phi:    9.0  Psi:    0.0
 MCA:         Econv:  4.950  1.600    First chan: 0.0   NPT: 1024
 Detector:    FWHM: 35.0 keV   Omega: 3.400
 Correction:  1.0041
Your wish? 

Return to section level or top level index.


Parameter Modification

The following commands simply change the corresponding parameter in the ACTIVE buffer. The use of each parameter within RUMP is listed in the notes below the table. In general, only commands which one should normally modify during a session have abbreviations. Commands which are, or should be, solid experimental parameters require spelling out in full - this is to avoid later command name conflicts.

Command Parameters Notes Explanation
FILE filename - File from whence it came
IDEntifier'line of text' 4 Description of buffer contents
DATE 'line of text' - Date of data collection
MEV MeV 2,3,7Incident beam energy
CHarge µC 1 Integrated beam dose
BEAM 4He++ | 2H+ | etc.1,2,3Beam type (arbitrary)
CORrectionValue 1 Multiplicative correction for normalized counts
GEOMetry CORNELL | IBM | GENERAL2,3,6Scattering geometry
PHI degrees 2,3,6Supplement of scattering angle
THEta degrees 2,3,6Sample tilt angle (incident beam)
PSI degrees 2,3,6Sample exit angle (exit beam)
OMEGA msr 1 Detector solid angle
CONVersi keV/ch & keV(0) 1,5 Conversion factors for ADC channel # to energy
CHOFF channel 5 Channel # of first data point
FWHM keV 3 Detector resolution
CURRent nanoamps 3 Beam current (for pileup calculations)

NOTES:
  1. Used to normalize yield data
  2. Parameters used by RBS analytical tools
  3. Parameter used primarily by the simulation programs
  4. The IDS command displays this text on the plot
  5. The energy scale is determined by
       channel = index+choff
       energy  = channel*(kev/ch) + kev(0)
    The first datum has index = 0, andCHOFFshould be set to the actual channel number of this datum (normally 0 also). Changing CHOFF shifts plot horizontally. kev/ch and kev(0) are either known or may be found by calibrating the spectrum.
  6. Scattering geometry --- see description below.
  7. Incident beam is specified as a specific isotope and charge state such as 4He++. Stopping power data for the beam may be loaded or will be generated automatically as needed.

These commands change only parameters in the active buffer. The physical file on disk is not updated until a REWRITE or SAVE command is executed. The REREAD command may be used to restore the buffer to the state contained in the file.

Return to section level or top level index.


Scattering Geometry

A full description of the scattering geometry for RBS requires three angles, the scattering angle of the particle, the entrance between the surface normal and the incident beam, and the exit angles of the beam with respect to the surface normal. In the geometry GENERAL, these three angles are independent and are set by the commands PHI, THETA and PSI respectively. Note, however, that PHI is really the supplement of the scattering angle; direct backscattering is specified with THETA=0.

In many cases, the three angles are not completely independent. Given a single tilt axis on most sample holders, only two of the angles need to be specified and the third can be determined from knowledge of the geometry. Two `standard' geometries are defined, CORNELL and IBM. These are purely historical designations having little to do anymore with the actual geometries at the two sites. The angle PSI, again historically, is the derived quantity from THETA and PHI. The IBM geometry refers to the scattering configuration where the incident beam, surface normal, and detected beam are all coplanar. The exit angle PSI is set to PHI+THETA. In the CORNELL geometry, the tilt axis lies in the plane defined by the incident and scattered beams, and the surface normal sweeps out a perpendicular plane. The CORNELL geometry sets cos(psi)=cos(theta)*cos(phi). If there are other common geometries in the world, please be aware that there is only space for another 32,765 possibilities in the data file format, so get your request in early.

If the scattering geometry is set to GENERAL, all three angles must be defined and are used. Changing the geometry to CORNELL or IBM will cause PSI parameter to be ignored and its value may change.

Return to section level or top level index.



Manipulating and Massaging Data and Buffers

ADD Add two spectra
BACKground Background fit and subtraction
COPY Copy one buffer to another
COMPRess Compress channels to improve statistics
MOVE Exchange the data in two buffers
DIVide Calculate a $\chi_{min}$ plot
SMOoth Smooth the data
SUBTRact Subtract two spectra


Move
Brief: Exchange the data in two buffers
Syntax: MOve <source buffer #> <dest buffer #>

The MOVE command is really an exchange command. The source and destination buffers are exchanged, including all data and experimental parameters associated with the buffers. The ACTIVE buffer remains pointing at the same data after this command; if either the source or destination buffer was ACTIVE, the actual buffer number pointed to by ACTIVE will change. The buffers must be specified by number for the MOVE command. In this command only, filenames are not allowed but buffer -1 is accessible.

Return to section level or top level index.


Copy
Brief: Copy the data in source buffer to destination
Syntax: COpy <source buffer> <dest buffer>

The COPY command directly copies all experimental parameters and data from the source buffer to the destination buffer. After this command, both buffers are absolutely identical including name and modification history. The original contents of the destination buffer are lost.

Return to section level or top level index.


Add
Brief: Add two spectra
Syntax: ADd <source buffer> <dest buffer>

The ADD command works with a pair of buffers, adding the contents of the source buffer to the destination buffer and saving the result in the destination buffer. The source and destination buffers may be identified either by number or by the associated filename. ADD will attempt to read the file into a buffer if it is not already in the buffer set. However, because of the buffers scrolling, specifying a destination file which does not already exist in the buffer set may cause the wrong buffers to be added. It is suggested that both files be read into buffers before executing the ADD command.

The result of the add is placed in the destination buffer. This buffer will be marked as dirty to indicate that the data has been modified (? will be shown by the BUFFERS command). The ADD command works slightly different depending on the setting of the RAW/NORMALIZE switch. In RAW mode the add is performed literally, ie. counts are counts and channels are channels and never shall they intertwine. The charge of the destination buffer is set to the sum of the charges of the source and and destination buffers.

In NORMALIZED mode, the addition is done as it appears visually on the graph. The charge and correction factor of the destination buffer are not changed. The data is summed for the same energy position (not same channel) with corrections for the width for the channels and for the beam current, detector and correction factors. The resulting data is mapped onto the MCA structure of the original destination buffer, retaining the CONV parameters.

Return to section level or top level index.


Subtract
Brief: Subtract two spectra
Syntax: SUBTRact <source buffer> <dest buffer>

The SUBTRACT command subtracts the data in the source buffer from the destination buffer and places the results in the destination buffer. It is otherwise identical to the ADD command described above and the same comments apply.

Return to section level or top level index.


Divide
Brief: Divide two spectra
Syntax: DIVide <source buffer> <dest buffer>

In the DIVIDE command, the contents of the destination buffer are divided channel by channel by contents of the source buffer. Results are stored in the destination buffer which is marked as having modified data. See notes in ADD for warnings on specifying filenames as buffers. This command is commonly used to compute the ratio of a channeled spectrum to the reference random spectrum and determine the minimum channeling yield \chimin.

DIVIDE assumes that channel to energy conversion for the two spectra are identical, or identical enough to be ignored. No check of the parameters is made. The data are divided on a channel by channel basis after correcting for the starting channel number of each buffer. Anything divided by zero is defined, as far as this command is concerned, to be zero. Only the region of overlap between the two buffers is computed. In RAW mode, the absolute channel data are divided while in NORMALIZE mode, RUMP uses the scaled yield values. The correction factor, solid angle and charge of the destination buffer are all set to unity following this command.

Independent of how the mode in which the division was performed, the result should always be plotted in RAW mode since the normalized plots will be completely meaningless.

Return to section level or top level index.


Background
Brief: Background subtract using a polynominal fit over region
Syntax: BACKground <cursor entries> <order_fit>

The BACKGROUND command attempts to extract an isolated peak from a large background by subtracting an estimate of the background from the data. Peaks extracted in this manner are then often analyzed using the THICKNESS or INTEGRALcommands. The BACKGROUND is estimated by fitting a polynomial, of order <order_fit>, through the spectral data on either side of the isolated peak. (You must be able to identify regions from the background on both sides of the peak to use this command.) Regions are normally entered using the cursor, but may also be entered from the keyboard by pressing the <esc> key at the first cursor. Four channel values are requested and the background fit will be done in the intervals between the lower two and upper two values.

A least squares polynomial fit is made to the data in these regions. The order of the polynomial must not exceed 6. (Generally, anything above 2 is lying to yourself - if the data is not quadratic, don't try background subtract.) The polynomial fit is subtracted from the channel data over the range of the fit, including the intervening channels. The polynomial fit and the resulting spectra are then overlaid on the plot. This command modifies the data, so one normally copies the buffer of interest into another buffer before using the BACKGROUND command.

The subtracted data is primarily suited to integrating. After a background subtract, the `gross' integral results will give more reliable answers than the primitive background subtract used in the `net' integration.

Return to section level or top level index.


Compress
Brief: Compress multiple channels to improve statistics
Syntax: COMPRess <nchan>

The statistical noise in a spectrum can be reduced by summing adjacent channels into a single channel using the COMPRESS command. The resulting spectra has fewer data points, but each channel is statistically less noisy. The alternative is to collect data for a longer period initially. The parameter <nchan> is the number of channels which are to be combined in each step. Given an <nchan> of 4, a spectrum with 1024 points will become a spectrum with 256 points. The energy scales and the first channel number are modified to correspond to the compressed spectra. The buffer is also marked as dirty to indicate modified data.

Return to section level or top level index.


Smooth
Brief: Smooth the data
Syntax: SMOoth [-SV | -CONV| -FFT]

The smooths command reduces the noise in a spectra while attempting to retain statistically valid features. There are several options available for smoothing:
SMOOTH [-RANGE <cursor or entry>]
SMOOTH -SV [-RANGE <cursor or entry>]
SMOOTH -CONV <ntimes>
SMOOTH -FFT <fwhm> [-RANGE <cursor or entry>]
The three smoothing algorithms currently implemented are listed above, the Savitsy-Goulay smooth (-SV), a convolution algorithm (-CONV) and an FFT smoothing algorithm (-FFT). If no algorithm is selected, the Savitsy-Goulay algorithm will be used by default. The buffer is marked as dirty to indicate modified data by this command.

The Savitsky-Goulay smooth is a simple 5 point smoothing algorithm. It works quickly and does a surprisingly good job. It may be necessary to smooth several times to achieve the desired results. Be sure to compare the smoothed spectra with the original before believing any results. The exact formula is

    xn = (-3*xn-2+12*xn-1+17*xn+12*xn+1-3*xn+2) / 35

The convolution algorithm attempts to retain edges in the spectra while smoothing. This is a iterative algorithm which convolutes and deconvolutes using the detector resolution on each iteration. It will be executed the number of times specified by the <ntimes> value. Typical spectra require 5 iterations. Note that two smooths by this algorithm are not equivalent to one operation with twice the number of iterations.

The FFT based smoothing algorithm is based loosely on the algorithm in Numerical Recipes, Press et al., (Cambridge University Press, 1986). The degree of smoothing is controlled by the specified <width>. The width is roughly the number of channels over which the data will be shared and should be approximately equal to the detector resolution divided by the energy width of each channel.

Both the FFT and SV algorithms are implemented in a manner where the range of smoothing can be limited to a subset of the entire buffer; the convolution however, always operates over the entire spectra. The -RANGE option specifies a finite range, marked with cursors, over which the specified smooth will be performed. Data outside the range will not be modified. This feature allows different regions of the spectra to be smoothed to differing degrees.

PERT Warning: NEVER smooth data that PERT is to look at. The smooth functions give pretty-looking lines for simplified viewing but are less than useless for quantitative work.

P.S. If you are finding smooth extremely useful, you really should consider collecting data for a longer period of time. SMOOTH should be used to direct further experiments, but results should not be based on smoothed spectra. The COMPRESS command desribed above is a statistically honest method of improving the statistics in a spectrum, albeit at the loss of resolution.

Return to section level or top level index.



RBS Analysis

CALibrate CalibrateCONVandMEVfrom spectra
CURsor Displays a cursor and returns energy/yield values
ELement Indicates scattering energy for an element
INFo Prints information about an element
INTegral Finds integral over a region
MATrix Plots energy and yield expected for a pure element
THICkness Calculates thickness from area integral
WHATisit Identifies elements near a specified channel
WIDth_thick Calculates thickness based on energy width
INTSET Sets integration modes forTHICKNESSandINTEGRALcommands
PROFILE Profiles single element based on real spectrum
DISPLAY Profiles the composition of the SIM sample structure

The commands in this section are designed for analysis of simple elemental RBS structures or for identification of features within a spectrum. The command generally use surface or mean energy scattering approximations. For more sophisticated analysis, the simulation capabilities described later should be used.

Data for these commands is obtained from the ATOM4.DAT file containing atomic elemental information. Scattering cross-sections are assumed to be purely Rutherford and resonances are not treated by these commands. Thickness, as measured by RBS, is an areal density rather than a distance. Conversion from the areal density of atoms/cm2 to thickness is performed using the standard atomic density of the element. Corrections for differing densities must be handled manually.

Many of these commands request input of marker positions from the cursor. At any point, the cursor input mode can be escaped by pressing the <esc> key and input will be taken from the keyboard instead. From the graph, the actual energy corresponding to the upper scale is obtained. However, when responding to a cursor request by typing, channel numbers should be specified. These are translated to the equivalent energy using the CONV parameters of the ACTIVE buffer. Inside macro files, it may be necessary to use ENCURSOR NO to completely disable the cursor modes and allow channel numbers to passed through the command line.


Cursor
Brief: Display cursor and return energy/channel values
Syntax: CURsor

The CURSOR command displays a crosshair or hardware cursor on graphics so equipped. The coordinates of the crosshair are returned when any key or button is pressed and are listed to the screen as channel number, energy and yield (or counts if in raw mode). If the key pressed was a 0 or , the cursor mode is retained for another value. On any other key, the cursor mode exist and the variables XCUR, YCUR, ECUR, and CCUR are linked to the resulting channel, yield, energy (in MeV) and character pressed.

The energy value returned by CURSOR corresponds to the energy scale on the graph. However, the channel number shown corresponds to the channel in the ACTIVE buffer which has the corresponding energy. This may differ from the lower channel scale on the axes if the CONV factors are different.

Ex: Channel: 338.4 Energy: 2.840 MeV Yield: 28.1132 /uC/keV/msr

Return to section level or top level index.


Info
Brief: Print information about an element
Syntax: INFo <element>

The INFO command prints a collection of information about the specified element, including the isotopic makeup and scattering/stopping parameters. The scattering geometry for cross section and stopping power evaluations is taken from the ACTIVE buffer. The first line after the parameters gives the kinematic scattering factor and the channel and energy for scattering from an element on the surface. The matrix scattering height is the yield expected from the pure element as a thick film on the surface. The scattering cross section is evaluated at the incident energy and a scattering angle of180-phi. The stopping cross section [e] includes corrections for the incident and exit paths. The stopping factor [S] is determined using the bulk elemental density.


Your wish? info si

 -----------------------------------------------------
 Si  Z: 14  Mass:  28.09  Density:  0.4978E+23 at/cc ( 2.32 g/cc)

 Parameters: Energy  3.000 MeV  Theta  7.00     Phi   9.00
             keV/channel 4.950     keV(0)   1.600

 Surface Scattering:         0.5654 at  1.696 MeV (Channel: 342.3)
 Matrix scattering height:     9.05 Counts/uC/keV/msr
 Scattering cross section:     0.110 (1E-24 cm2/ster)
 Stopping Factors:  [e] =  76.3 (1E-15 eV-cm2)   [S] =  38.0 eV/A

Isotopes:  Mass:  29.97  Abundance: 0.03090
           Mass:  28.98  Abundance: 0.04700
           Mass:  27.98  Abundance: 0.92210

Ready if you are! 

Return to section level or top level index.


Element
Brief: Plots surface scattering energy
Syntax: ELement <element>

The ELEMENT command is used to identify on the graph the position where an element on the surface would scatter. The kinematic factor, energy and channel for scattering are printed to the terminal. If a graphic device is active, a marker is drawn on the channel axis at the scattering energy and is labeled with the element. If an element name only is specified, the average atomic weight is used. Isotopes may be specified and will be marked accordingly.


Feed me! element si
 Si  Z=14  Mass= 28.086  K(He)=0.5654  Energy= 1.696 MeV  Channel= 342.321
Ready if you are! el 28si
 Si  Z=14  Mass= 27.977  K(He)=0.5641  Energy= 1.692 MeV  Channel= 341.550
At your service! 

Return to section level or top level index.


Whatisit
Brief: Identify elements near channel
Syntax: WHATisit <cursor_entry>

WHATISIT is, in one sense, the inverse of the ELEMENT command. Whereas ELEMENT marks a known elemental point, WHATISIT is used to mark 5 elements around a given energy position. The five closest elements to the marked point are displayed to the terminal and are drawn on the graph. These markers thus indicate at least the range of atomic numbers corresponding to an unknown peak. It is important to keep in mind that (1) elements may not be on the surface and (2) that mass resolution is poor at high Z and the actual element may not be listed at all.


Ready if you are! whatisit

 Selected energy was  1.694 MeV
 Mg Mass  24.3   expected at  1.550 MeV (Channel  313)
 Al Mass  27.0   expected at  1.656 MeV (Channel  334)
 Si Mass  28.1   expected at  1.696 MeV (Channel  342)
 P  Mass  31.0   expected at  1.790 MeV (Channel  361)
 S  Mass  32.1   expected at  1.822 MeV (Channel  368)

Ready if you are! whatisit

 Selected energy was  2.769 MeV
 Ir Mass 192.2   expected at  2.762 MeV (Channel  558)
 Pt Mass 195.1   expected at  2.765 MeV (Channel  558)
 Au Mass 197.0   expected at  2.767 MeV (Channel  559)
 Hg Mass 200.6   expected at  2.771 MeV (Channel  560)
 Tl Mass 204.4   expected at  2.775 MeV (Channel  560)

At your service! 

Return to section level or top level index.


Matrix
Brief: Plots an element's energy and height
Syntax: MATrix <element>

A surface thick film of any pure element has a well defined yield height determined by the stopping power, cross section and channel energy width. This height is referred to as the matrix height and is plotted and labeled on the graph using the MATRIX command. The height and edge for the specified element are plotted as a cross on the graph with the element name (or isotope) just above. The height of a substrate edge, such as Si, can be used to verify the normalization condition. The scattering height and position are also displayed on the terminal. Matrix height is determined by

     Yield =  ( \sigma * d\Omega * q * \Delta Echan) / [\epsilon]


Feed me!  mat si
 Si expected at  1.696 MeV ( 342.3) and height    9.052
At your service! 

Return to section level or top level index.


Calibrate
Brief: Calibrates ECONV and MEV for spectrum from specific peaks on spectrum
Syntax: CALibrate <cursor_pt> <cursor_pt> <el> <el> <energy> <cursor_pt>

The settings of the channel-to-energy conversion and the absolute energy of the accelerator should be well known quantities but are often not controlled well enough for an absolute setting. The CALIBRATE command determines the values for CONV and MEV of the ACTIVE buffer from the positions of two surface element peaks and one absolute energy point. At Cornell, a 230Th alpha source is mounted near the detector to provide the absolute energy calibration in all spectra. If the beam energy is accurately known, changes to the MEV setting can be skipped by setting the energy of the known marker to zero. Only values for CONV will be modified in this case.

When CALIBRATE is executed, the cursor is enabled and two surface peaks should be identified, either by a thin peak or the half height of a ledge. The elements corresponding to these points are then entered (use the specific isotope for better calibration especially if a low Z element is one of the calibration points). The absolute energy of a known marker (in keV) is then requested. The default value is the 4684 keV major peak from230Th decay. If any positive non-zero marker energy is input, the cursor is again displayed to obtain the position of the marker. To improve accuracy, the position of the marker should have previously been determined using the REGION and CURSOR commands. Escape out of cursor entry mode (using <esc>) and enter the absolute number from the keyboard.

The command changes the MEV and CONV values of the current buffer to correspond to calculated values. The accuracy should be tested using a third element peak and the ELEMENT command. The following example calibrates using buffer 3 and then transfers the calibration to real spectra in buffers 1 and 2.


Your wish?     /* We first get the buffer and calibrate
Up periscope!  /* The channel for 230Th is escaped and typed
Feed me!       get 3 calibrate
Identify two surface elements.
Element? (no change) ni si
Marker energy, keV (4684 for 230Th) ? 4684
Marker position? (pressed <esc> to abort cursor)
Marker position? 930
 Energy= 3.223 MeV    Conversion:   4.7825 keV/ch     3.24 keV(0)
Feed me! for %f in (1 2) do get %f mev 3.223 econv 4.7825 3.24
Beam me up Scottie! 

Return to section level or top level index.


Integral/Thickness
Brief: Integral of counts, and/or conversion to thickness, over a specified region
Syntax: INTegral <cursor_low> <cursor_high>
THICkness <cursor_low> <cursor_high> <element>
THICkness <cursor_low> <cursor_high> <element> <alpha_val>

The INTEGRAL command determines the total integrated number of counts between two markers in the ACTIVE buffer, either on a RAW or NORMALIZED basis. In the raw mode, the absolute counts in each channel are summed. In normalized mode, this sum is then scaled by the charge, detector solid angle and correction factor (Q, OMEGA and CORR) to standard conditions. Two integrals, the `gross' and the `net', are reported. The gross integral is the complete sum while the net integral includes only counts which lie above a straight line drawn between the region edges. The net integral thus performs the simplest of background subtractions. However, the BACKGROUND command should be used to extract the peak first if it lies on any substantial background signal.

There are two ways in which the INTEGRAL command can handle the channels at either end of the integration region. The INTSET command is used to set the mode. In the default mode, the boundaries of the integration are rounded to integers before summing the data (the rounding occurs toward the center of the region). INTSET can switch the integration mode so that the partial channels at the boundaries are also included in the integration. See the INTSET command for more details.

The THICKNESS command first does an INTEGRAL and then translates the measured total yield into an equivalent thickness (atoms/cm2) of an element. To first order, the total number of scattering centers (atoms) is related directly to the integrated yield through the beam dose and detector solid angle,

 Y ~ (d\sigma / d\Omega) * d\Omega * Q * Nt / cos \thetain.
Hence, the thickness determined by integration of a peak is an absolute measurement assuming that d\Omega and Q are known accurately. Since these quantities are usually known only to within about 5%, the fudge factor CORR also enters into the equation. Within these constraints, THICKNESS provides an absolute measurement of the number of atoms/cm2 present. This areal density is presented as a thickness using the bulk elemental density. Thickness values are reported for both the gross and net integrals.

The INTSET command also controls the manner in which the thickness is calculated from the integral. The default is to use the simple surface scattering approximation. Increasing accuracy is achieved by allowing THICKNESS to estimate the correction required because the scattering cross section increases as the particle slows down in the layer. The greatest accuracy is obtained if the user provides the `alpha' energy loss ratio factor (after setting the mode with INTSET Q). Even in the compensated modes, the thicknesses are valid primarily for pure elemental layers and SIM should be used for more complex structures. See the INTSET command for additional details on compensated thickness.

The variables GROSS$, NET$, and THICK$ are linked by this command. GROSS$ and NET$ are real numbers containing the corresponding integrals. THICK$ is a four element array containing the gross and net thicknesses in Angstroms (entries 0 and 1) and areal thickness in atoms/cm2 in entries 2 and 3.


Your wish? thick ni
Identify region with cursor.  Press any key.
     Discrete integration on Buffer  1,   Ni/NiSi/Si Annealed 90 min
 Region:  385.0 to  482.0 Gross:     5196.78 Net:     5164.94  (#/uC/msr)
 Ni surface approximation with micro-density of  8.90 g/cc yields
 (Gross)  0.1847E+19 Atoms/cm**2 ( 2023.4 Angstroms)
 ( Net )  0.1835E+19 Atoms/cm**2 ( 2011.0 Angstroms)

Yes dear? intset interp thick ni intset round
Identify region with cursor.  Press any key.
 Interpolated integration on Buffer  1,   Ni/NiSi/Si Annealed 90 min
 Region:  385.4 to  482.3 Gross:     5196.18 Net:     5158.00  (#/uC/msr)
 Ni surface approximation with micro-density of  8.90 g/cc yields
 (Gross)  0.1846E+19 Atoms/cm**2 ( 2023.2 Angstroms)
 ( Net )  0.1833E+19 Atoms/cm**2 ( 2008.3 Angstroms)

At your service! intset estimate thick ni
Identify region with cursor.  Press any key.
     Discrete integration on Buffer  1,   Ni/NiSi/Si Annealed 90 min
 Region:  385.0 to  482.0 Gross:     5196.78 Net:     5164.94  (#/uC/msr)
 Ni surface approximation with micro-density of  8.90 g/cc yields
 (Gross)  0.1847E+19 Atoms/cm**2 ( 2023.4 Angstroms)
 ( Net )  0.1835E+19 Atoms/cm**2 ( 2011.0 Angstroms)

Compensated calculation (refer to Chu et.al. page 65)
For fixed alpha =    1.13703      (surface approx. for Ni)
 (Gross)  0.1766E+19 Atoms/cm**2 ( 1934.8 Angstroms)
 ( Net )  0.1755E+19 Atoms/cm**2 ( 1923.3 Angstroms)

Your wish? 

Return to section level or top level index.


Width_thick
Brief: Thickness calculation based on peak width
Syntax: WIDth_thick <cursor_low> <cursor_high> <element>

As an alternate to THICKNESS, the width of a layer in energy can be related to its thickness through the stopping factor [S]. The WIDTH_THICK command determines the thickness based on a mean energy approximation for the stopping factor. (See Chu et al. for a discussion of the mean energy approximation.) WIDTH_THICK is appropriate for almost pure elemental layers whose widths are substantially greater than the detector resolution and form well defined flat top ledges. The cursor is used to mark the half-height points on either side of the layer. The compensated stopping factors and the calculated thickness are reported. The accuracy of this calculation is constrained by the accuracy of the stopping power tables, usually about 5-10%. The final thickness (angstroms) and area thickness are linked as the array THICK$.


Feed me! width_th
Place cursor at half-height points.
Element? (no change) Ni
 Stopping Factors:   [e] = 112.9 (1E-15 eV-cm2)  [S] = 103.0 eV/A
 Width:  254.5 keV    0.2254E+19 Atoms/cm**2     2470.3 Angstroms
Feed me! \underbar{eval thick$(2)}
Value:   2.254E+18
Yes Master? 

Return to section level or top level index.


Intset
Brief: Set mode for thickness calculations
Syntax: INTSET [Round|Interp|Surf|Est|Query|?]

The INTSET command sets the internal mode used for calculating the INTEGRAL or the THICKNESS commands. Integrals are evaluated in either of two modes. In the roundoff mode, channels are rounded toward the center of the integration region. In the interpolate mode, each channel is treated as having a triangular basis extending one channel to either side of center. The edges of the region need not be integer channels and the integral will include an appropriate fraction of the nearby edge channels. The default mode is rounding.

Three modes may be set for determining the thickness of an element over the region, surface, estimate and query. The default is the surface approximation and no correction for the increase of the cross section with depth is attempted. The other modes estimate and query are forms of the mean energy approximation. The energy of the particle at the time of scattering is estimated from the detected energy. Energy loss on the ingoing path is assumed to be a constant fraction of the total energy loss and hence the scattering energy can be obtained from the overall energy loss. In terms of stopping powers,

  Escat = E_0-{\left ( {{dE}\over{dx}} \right )E_0 \over {cos \Thetain}} *
            {{\Delta E} \over 
  {\left [ K {\left ( {{dE}\over{dx}} \right )E_0 \over {\cos\thetain}} +
             {\left ( {{dE}\over{dx}} \right )KE_0 \over {\cos\thetaout}} \right ]}}
The parameter alpha is defined by the quantity
   alpha = {{\cos\thetain} \over {\cos\thetaout}} * 
             {{\left ( {{dE}\over{dx}} \right)KE_0} \over 
             {\left ( {{dE}\over{dx}} \right)E_0}}
and is sufficient to perform the above calculations. In the estimate mode, the thickness integrals are performed correcting for cross section changes using this formulation of alpha. For repeated measurements on a given sample type, alpha can be calibrated accurately and the query mode allows for direct entry of a user value of alpha. Given accurate user values, THICKNESS will correctly evaluate the areal density of elements even in compounds. See Chu et al. equations 3.21ff for additional details.

The ? command provides a listing and short description of these modes as well as identifying which modes are currently active.


Feed me! intset
[Round|Interp|Surf|Est|Query|?] ?

* current mode - Single letter command - Explanation of mode
* R - Integrals are rounded to nearest channel
  I - Integrals are interpolated between channels
* S - Thickness calculation based on surface approximation only
  E - Compensated thickness calculation with an estimated alpha
  Q - Compensated thickness calculation with query for alpha

At your service! intset I intset E intset ?

* current mode - Single letter command - Explanation of mode
  R - Integrals are rounded to nearest channel
* I - Integrals are interpolated between channels
  S - Thickness calculation based on surface approximation only
* E - Compensated thickness calculation with an estimated alpha
  Q - Compensated thickness calculation with query for alpha

At your service! 

Return to section level or top level index.


Profile
Brief: Profile an element as concentration versus depth
Syntax: PROfile <element> <cursor_region> <filename>

The PROFILE command (within RUMP - not SIM) estimates the concentration versus depth for a single element corresponding over a given region in the ACTIVE spectrum - usually an isolate peak. The stopping factors which determine the non-linear conversion from energy to depth are calculated using the current sample structure defined in the SIM module. A reasonable sample structure must be defined prior to requesting PROFILE. For example, to profile As as a dopant in Si, the sample structure need be defined only as pure Si since the As will not strongly affect the stopping powers.

Concentrations are reported in atomic fraction and the depth is measured in the only units appropriate to RBS, 1015 at/cm2. PROFILE makes no attempt to deconvolute detector resolution, straggling, isotope effects, or overlapping elements. Hence, it is most useful for heavy, isolated impurity peaks or monoisotopic elements.

The concentration versus depth is plotted if a graphics device is available. After plotting, a filename is requested and the data may be written as ASCII data pairs to the file. Stored data can be subsequently massaged using GENPLOT or other analysis programs. If no filename (or a /) is given, the data will not be stored. The last command in the example below might be used in a macro file for automatically profiling Ni over a given range without saving the data. The ENCURSOR command allows the range (in channel numbers) to be specified from the command line instead of by the cursor (equivalent to escaping out of the cursor using <esc>).


Yes Master? read \rump\examp
File: c:\rump\examp.rbs
Id:   Ni/NiSi/Si Annealed 90 min 295C
Up periscope! sim get \rump\examp return
Beam me up Scottie! profile
Element to be profiled? (abort) ni
Use cursor to define region to be profiled.
File name (if any) of saved data: niprof.dat
Your wish? encursor no profile ni 300 500 / encursor yes
Hey, man, what next? 

Profile will fail if no simulation sample has been defined. Also, the profile will fail with the message Simulation goes to zero in region of interest if you request a profile over a region completely invalid for the element. Invalid experimental parameters will also generate an error. Warnings are given if the profile is subject to some isotope effect or if absurd answers would be expected because of the isotopic distribution (profiling B for example).

Return to section level or top level index.



Other Commands

The following system utility commands are identical between GENPLOT and RUMP and are described in other sections of the manual as specified in the table below.

Section J -- Function Evaluation
ALLOCate Allocate a variable
DEALLocate Deallocate a variable
DEClare Allocate and set a STRING variable
DEFine Define a user function
EValuate Evaluate a general math expression
LET Set a variable to a constant or expression
LISTVar List all the defined variables
SAVEVars Save variables to disk file
SETVar Allocate and set a real variable

Section K -- Command Macros
BASE_MACRO Specify a default macro directory
ECHO Toggle the command display while a macro is running
FOR Repeat command loop
MACRO Collect commands in a macro file
GOTO Continue execution at the given label
IF Conditional execution of commands
QUERY Prompt the user for input from the macro
SAVE_MACRO Save the commands from MACRO in a file
SLEEP Delay for a given length of time
WAIT Wait for user action before continuing
XEQ Execute a macro file
CMDLIN Execute the next token as a series of commands
&GETARG Get the next argument from the macro command line
&QUERY Get the next token from the user
&YESNO Get a yes/no answer from the user
&ENCODE Real number to string encoding

Section L --- Operating System
CD Change directory
DIr Display directory
<disk>: Change default disk
DOS Send a command to the system to be executed
MEMory Display unused RAM space
PAUSE Temporarily pause GENPLOT and bring in the system
TYpe Type a file on the screen
WHEre Gives the pathname of the current directory

Section N --- Editing
EMacs Built in editor
\input rpsim \input rppert \input rpfile


Last modified: November 3, 1996
Michael O. Thompson (mot1@cornell.edu)