The @ Command
The DEFINE Command
The ECHO/NOECHO Command
The END Command
The FILE Command
The HELP Command
The QUIT Command
The SET BANK Command
The TITLES Command
Additional symbolic commands can be added by updating the The SNOMAN Symbol Table .
Example: @my_job
This command directs SNOMAN to take subsequent commands (which can include further @ commands) from the file specified. When the file is exhausted command processing will resume in the current file. If the file name does not contain a dot then the default extension .cmd is assumed.
The search sequence for the command file is as follows:-
DEFINE event_loop call inp * Input an event call flt(1) * Apply filter test 1: nhits>40 if_not_ok quit_event * Quit event if test fails call ftt * Try to fit if_ok goto fit_ok * If fit successful, jump to fit_ok call out(3) * Otherwise, output fit failures on stream 3 quit_event * Quit the event fit_ok: * A label call out(2) * Output fit successes on stream 2 END_DEFThis command is currently used for defining the programmable event loop, but may have other uses in future. An event loop program is a more versatile form of the $processor_list command. The program appears between the lines 'DEFINE event_loop' and 'END_DEF', and consists of labels, conditions and commands. Commands can be any of the following:-
call xxx Call processor xxx call xxx(arg1,arg2,...) Call processor xxx with arguments continue Null command goto label Goto label quit_event Quit the event quit_job Terminate SNOMANCommands with a preceeding condition ('if_ok' or 'if_not_ok') are only executed if the return code from the last processor call satisfies the condition.
The event filter (FLT) and the output processor (OUT) support arguments. Filter arguments specify which tests to apply (the result is passed back as the return code:- OK=true, NOT_OK=false). Tests are defined in FLTR banks and can be set up quickly with commands such as:-
$enable_test 1 $define_test 1 $line_1 'nhits float_equals EV+$KEV_NPM:40 999;'Arguments to the output processor can be used to specify which streams to output the current event on. If this behaviour is required, then the command '$multi_output_sel $pel_args' must be given at some point otherwise events will be output on all open streams.
Full details of the filter and programmable event loop can be found in the User Manual.
Example: FILE INP 1 input.dat skip=5 max=100
Example: FILE INP 1 sno_0000001029_?.zdab first_subrun=4 last_subrun=9
Generate multiple FILE INP for sno_0000001029_004.dat .. sno_0000001029_009.dat
Example: FILE OUT 1 output.dat device=$disk format=$zdab_only
Example: FILE INP 1 loveboat.sno.laurentian.ca device=$mem
See the
Dispatching Data
section of the User Manual for details of device=$mem usage.
This command is used to associate a file with a Software Unit and in particular, INP and OUT, the event input and output processors. The following options are available:-
Example: SET BANK JOB 1 WORD 2 TO 200
Example: SET BANK MCPI 1 WORD 67 OFFSET 9 TO 40 1. 1000000. 1.
This command can be used to change one or more words in a titles bank starting at the bank address specified. Up to 10 values can be provided which can be any of the following mixed in any order:-
Example: TITLES my_titles
This command directs SNOMAN to read a titles file containing one or more titles banks. If the file name does not contain a dot the default extension .dat is assumed.
The search sequence for the titles file is as follows:-