DAQ needs to write to and read from the database. The write process
is very similar to the one described above for CMA, except that the
command one types to start it is snodb.perl -daq_write and the
relevant directory names are /write_to_database/daq and
/write_to_database/daq/todo. The read process for DAQ is
constrained by the imperative that the DAQ system must maximize its
uptime and should never have to wait for another process to provide it
with information.
To stop the DAQ write process, one types snodb.perl -stop_daq_write which then creates a file named signal.stop in the appropriate directory and eventually causes the DAQ write process to stop.
The read process is started by typing snodb.perl -daq_read,
which initiates a process which runs continuously, looking for for new
files named *.keys to appear in the directory defined in init.pl. The default is /read_from_database/keys_to_dbase.
Once a file appears in this directory, it is copied to the
/read_from_database/keys_to_dbase/todo directory. These ``keys''
files contain information which pinpoints a bank in the database.
Here is an example of such a file:
The information in the keys file is read by the /$SNODB_VER/exes/sdb_output_titles program which goes to the
database, searches for the bank which matches all the keys, and then
prints out the bank in titles format onto the file xxxx_n.dat
where xxxx is the bank name and n is the bank number. The
keys file is renamed to mark it as having been processed
and subsequent keys files, if they exist, are
then processed.
To stop the DAQ read process, one types snodb.perl -stop_daq_read which then creates a file named signal.stop in the appropriate directory and eventually causes the DAQ read process to stop.