man5/num_conf

Table of Contents

Name

num_conf - numeric processing configuration file

Description

A program using the AccelNET numeric processing facilities may load table information from a configuration file using LoadNumericTable(). This manual page describes the format of the file used by LoadNumericTable().

Configuration File Format

Each line in the configuration file is one entry. The file may contain blank lines. Lines starting with a # are treated as comment lines. | is used as a field separator.

Entries in the configuration file consist of a variable number of fields. The first field identifies the type of entry. Numeric processing has two possible entry types numlist and numpoint.

numlist entries cause a record of type NUMLIST to be added to the table.

numpoint entries cause a record of type NUMPOINT to be added to the table.

Each processing chain contains one NUMLIST record and a variable number of NUMPOINT records.

Each time a calculation chain is started the total and the subtotal registers are guaranteed to start at zero.

NUMLIST entry

Each entry consists of the following four fields: entry_name, recid, label, and refname.

NUMPOINT entry

Each entry consists of the following six fields: entry_name, mrecid, recid, nptype, label, refname, and scale.

NPtype keywords

Keywords with a name containing Sn should be replaced with 1-4. valid means a valid Label and RefName in the NUMPOINT record. null means a null Label and RefName in the NUMPOINT record.

add - add to total

valid : V += data_point * Scale
null : V += Scale
This corresponds to NPadd in numproc.h.

sub - subtract to total

valid : V -= data_point * Scale
null : V -= Scale
This corresponds to NPsub in numproc.h.

mult - multiply to total

valid : V *= data_point * Scale
null : V *= Scale
This corresponds to NPmult in numproc.h.

div - divide to total

valid : V /= data_point * Scale
null : V /= Scale
if Scale == 0 then V = 0 (avoid exception)
This corresponds to NPdiv in numproc.h.

abs - absolute value to total

valid : V = fabs(V) * data_point * Scale
null : V = fabs(V) * Scale
This corresponds to NPabs in numproc.h.

pow - raise to a power to total

valid : V = pow(V, data_point * Scale)
null : V = pow(V, Scale)
This corresponds to NPpow in numproc.h.

ln - natural log to total

valid : V = log(V, data_point * Scale)
null : V = log(V, Scale)
This corresponds to NPln in numproc.h.

log - common log to total

valid : V = log10(V, data_point * Scale)
null : V = log10(V, Scale)
This corresponds to NPlog in numproc.h.

sin - sine to total

valid : V = sin(V, data_point * Scale)
null : V = sin(V, Scale)
This corresponds to NPsin in numproc.h.

cos - cosine to total

valid : V = cos(V, data_point * Scale)
null : V = cos(V, Scale)
This corresponds to NPcos in numproc.h.

tan - tangent to total

valid : V = tan(V, data_point * Scale)
null : V = tan(V, Scale)
This corresponds to NPtan in numproc.h.

asin - arc sine to total

valid : V = asin(V, data_point * Scale)
null : V = asin(V, Scale)
This corresponds to NPasin in numproc.h.

acos - arc cosine to total

valid : V = acos(V, data_point * Scale)
null : V = acos(V, Scale)
This corresponds to NPacos in numproc.h.

atan - arc tangent to total

valid : V = atan(V, data_point * Scale)
null : V = atan(V, Scale)
This corresponds to NPatan in numproc.h.

or - OR to total

valid : V = (V | (data_point << Scale)
null : V = V
This corresponds to NPor in numproc.h.

gate - gate a value

if (V == Scale) then NLdatapoint = V

This allows one datapoint to be copied to another using a 3rd datapoint as a switch. One use is for copying a faraday cup CR value to a CRsave data point using a nop/chg datapoint
This corresponds to NPgate in numproc.h.

add_Sn - add to subtotal

See add.
This corresponds to NPadd_Sn in numproc.h.

sub_Sn - subtract to subtotal

See sub.
This corresponds to NPsub_Sn in numproc.h.

mult_Sn - multiply to subtotal

See mult.
This corresponds to NPmult_Sn in numproc.h.

div_Sn - divide to subtotal

See div.
This corresponds to NPdiv_Sn in numproc.h.

abs_Sn - absolute value to subtotal

See abs.
This corresponds to NPabs_Sn in numproc.h.

pow_Sn - raise power to subtotal

See pow.
This corresponds to NPpow_Sn in numproc.h.

ln_Sn - natural log to subtotal

See ln.
This corresponds to NPln_Sn in numproc.h.

log_Sn - common log to subtotal

See log.
This corresponds to NPlog_Sn in numproc.h.

sin_Sn - sine to subtotal

See sin.
This corresponds to NPsin_Sn in numproc.h.

cos_Sn - cosine to subtotal

See cos.
This corresponds to NPcos_Sn in numproc.h.

tan_Sn - tangent to subtotal

See tan.
This corresponds to NPtan_Sn in numproc.h.

asin_Sn - arc sine to subtotal

See asin.
This corresponds to NPasin_Sn in numproc.h.

acos_Sn - arc cosine to subtotal

See acos.
This corresponds to NPacos_Sn in numproc.h.

atan_Sn - arc tangent to subtotal

See atan.
This corresponds to NPatan_Sn in numproc.h.

clr_Sn - clear subtotal

Clear the subtotal.
This corresponds to NPclr_Sn in numproc.h.

t_add_Sn - add to total

total = total + subtotal, clr subtotal
This corresponds to NPtot_add_Sn in numproc.h.

t_sub_Sn - subtract to total

total = total - subtotal, clr subtotal
This corresponds to NPtot_sub_Sn in numproc.h.

t_mul_Sn - multiply to total

total = total * subtotal, clr subtotal
This corresponds to NPtot_mult_Sn in numproc.h.

t_div_Sn - divide to total

total = total / subtotal, clr subtotal
This corresponds to NPtot_div_Sn in numproc.h.

Examples

#
# this one calculates a ratio from two current reads
#
numlist | 1|DOSE |LEratio |
numpoint| 1| 1|add |MFC 02-2|CRavg |1.0 |
numpoint| 1| 2|div |MFC 02-1|CRavg |1.0 |
numpoint| 1| 3|abs |NULL |NULL |100.0 |

#
#
# this one calculates beam transmission
# from two current reads
#
numlist | 5|DOSE |Transmis|
numpoint| 5| 1|add |MFC 04-1|CR |1.0 |
numpoint| 5| 2|div |SETUP |ChgState|1.0 |
numpoint| 5| 3|div |MFC 02-1|CR |1.0 |
numpoint| 5| 4|abs |NULL |NULL |100.0 |

See Also

libalm.3, NUMmngr2.8

Notes

Manual page revision

$Id: num_conf.5,v 1.3 1999/09/07 21:07:17 kitchen Exp $


Table of Contents