Project

General

Profile

Database » History » Version 1

Ole Hansen, 03/30/2018 09:31 PM

1 1 Ole Hansen
h1. Database organization
2
3
The C++ Analyzer uses simple ASCII text files to store database information. There is one file for each analysis module. The name of each file is composed as follows:
4
5
<pre>
6
  db_< apparatus-name >.< detector-name >.dat
7
</pre>
8
9
For example, a Cherenkov detector named "a1" which is part of the Left HRS spectrometer, named "L", would be associated with a database file named @db_L.a1.dat@.
10
11
There is one special file, named @db_run.dat@, the contains the "run database", a collection of run-specific parameters such as beam energy and spectrometer momentum and angle settings.
12
13
All of the above database files should be stored in a location that can be modified by the user, for instance in @~/DB@. The environment variable @DB_DIR@ must be defined to point to this top-level database directory. Since database parameters change with time, database files are organized in time-dependent subdirectories within @$DB_DIR@. The name of each subdirectory has the form @YYYYMMDD@, where @YYYY@, @MM@, and @DD@ represent the year, month, and day, respectively, of the date that is the start of the validity of the entries. Upon initialization, the Analyzer locates the most appropriate time-dependent subdirectory based on the contents of @$DB_DIR@ and the time-stamp of the run to be replayed. Often there is only one time-dependent subdirectory per experiment, but if significant changes occur during an experiment, it may be appropriate to create several directories. A finer division of time-dependent information can be provided by timestamps within each database file. This is especially true for the run database file which frequently will have many time-stamped sections.
14
15
For example, an experiment running in April and May of 2004 could create a database subdirectory @~/DB/20040401@ and set @DB_DIR=~/DB@. Other files supporting the replay of this experiment would reside in an experiment-specific directory, usually @$EXPERIMENT@.