Skip to content

Buffers & instrument parameters

Buffers & instrument parameters

Buffers

Spectra live in numbered buffers, one of which is ACTIVE and is what most commands act on implicitly. Buffer 0 is the simulation; data starts at 1. See GET in Core workflow for how a freshly read file gets slotted in.

BUFFERS

Lists the buffers, marking the active one.

POINTAT

usage: POINTAT <n>

Points at buffer n, by number only — unlike GET, which also accepts a filename.

RELEASE / NEWALL

usage: RELEASE [n]

RELEASE drops one buffer (default: active); NEWALL drops all of them.

EMPTY

usage: EMPTY [n]

Scrolls a fresh blank buffer into buffer 1 (default), or resets buffer n in place.

COPY / MOVE

usage: COPY <source> <target>
usage: MOVE <a> <b>

COPY duplicates a buffer; MOVE exchanges two.

Your wish? copy 0 2              /* snapshot the simulation into buffer 2 */

WRITE / WRASCII

usage: WRITE <file>
usage: WRASCII <file>

Saves the active buffer. WRITE writes the full RUMP binary .rbs format -- identifier, comments, date, dead-time correction, accelerator parameters, calibration, geometry, and counts -- the same self-describing format GET reads (see File formats). It always writes compression mode 0 (unpacked floats) at format version 1.0, RUMP's own default; raising it to 1.1 is gated behind CONFIG WRITE_LEVEL in the original, which pyRUMP doesn't currently expose as a command.

WRASCII writes RUMP's own plain-text dialect instead (bmanip.c:595-650): a keyword header -- identifier, date, charge/energy, calibration, angles, detector solid angle/correction, channel offset/FWHM, current, geometry and beam code -- then the literal line Swallow, then one count per line. It's an ordinary text file, editable like the RC43 macros XEQ reads (see File formats), and matches the real RUMP binary's output byte-for-byte for the same buffer. That said, the header is only for a human reading the file: RUMP's own plain-ASCII reader (what GET falls back to for anything that isn't the binary format) only ever picks up the first non-numeric line as the identifier and ignores the rest, so GETting a WRASCII file back -- in pyRUMP or the original -- still falls back to your ~/.pyrumprc defaults for beam/geometry/calibration, not the header's own values. [new] A bare filename with no extension gets .dat added automatically; .rbs/.RBS is a footgun rather than a hard error -- WRASCII still writes the file but warns, since GET would otherwise mistake it for an RC43 macro and refuse it (see File formats).

Sample & instrument parameters

Each buffer carries its own beam, geometry, calibration and measurement metadata. Every one of these prints the current value with no argument, and sets it (echoing the new value) with one — and chains onto any further command left on the line, so Choff 0 FWHM 15 works in one go, exactly as RUMP's own WRASCII output writes it back.

Your wish? beam 4He++
  beam Z=2 mass=4.0026 charge state 2
Your wish? mev 2.0
  MeV = 2
Your wish? conversion 5.0 0
  5 keV/channel, offset 0 keV

ACTIVE

Prints the active buffer's full parameter set.

BEAM

usage: BEAM 4He++

Sets the beam species and charge state.

MEV

usage: MEV <energy>

Sets the beam energy, MeV.

THETA

usage: THETA <deg>

Sets the sample tilt.

PHI

usage: PHI <deg>

Sets 180° minus the scattering angle.

PSI

usage: PSI <deg>

Sets the exit angle (GENERAL geometry only).

GEOMETRY

usage: GEOMETRY cornell|ibm|general

Sets the detector geometry convention.

CONVERSION

usage: CONVERSION <keV/ch> [keV(0)]

Sets the energy calibration: slope and, optionally, offset together.

SLOPE [new]

usage: SLOPE <keV/ch>

Sets the calibration slope alone, independent of CONVERSION's offset.

OFFSET [new]

usage: OFFSET <keV(0)>

Sets the calibration offset alone, independent of CONVERSION's slope.

CORRECTION

usage: CORRECTION <factor>

Sets the normalization fudge factor that absorbs charge-integration error (RUMP's CORR). PERT's NORMALIZE window can set this automatically from a fit instead of you setting it by hand — see PERT commands.

CHARGE

usage: CHARGE <uC>

Sets the integrated beam dose.

CURRENT

usage: CURRENT <nA>

Sets the average beam current — enables pile-up modeling together with TAU.

CHOFF

usage: CHOFF <n>

Sets the channel number of the first data point.

FWHM

usage: FWHM <keV>

Sets the detector resolution.

OMEGA

usage: OMEGA <msr>

Sets the detector solid angle.

TAU

usage: TAU <us>

Sets the MCA shaping time constant.

IDENTIFIER

usage: IDENTIFIER <text>

Sets a free-text spectrum description.

DATE

usage: DATE <text>

Sets when the spectrum was measured.

FILENAME

usage: FILENAME <name>

Sets the recorded source filename.

SWALLOW

usage: SWALLOW [-twocolumn]

Used inside an XEQ macro, reads the macro file's following lines straight into the active buffer as channel data (or channel/value pairs), stopping at the first blank line — how a RUMP-written .cmd file reconstructs a spectrum inline.