Takanobu's dead and hot strip lists have been stored in the database. There are two tables relevant to hot strips: tkr_striphotdir and tkr_striphot. tkr_striphotdir has a single row which acts as a summary for a collection of data, in this case a hot strip list. tkr_striphot contains the actual data. It contains a row for each strip appearing in the list. Here is what a (somewhat doctored) dump of a row from the directory table:
mysql> select * from tkr_striphotdir where ix = 1; +----+----------------+---------------------+---------------------+ | ix | entertime | formtime | vstart | +----+----------------+---------------------+---------------------+ | 1 | 20000721121027 | 2000-06-19 23:59:59 | 1999-12-03 00:00:00 | +----+----------------+---------------------+---------------------+ ---------------------+-----------+---------+--------+------------+ vend | vrunstart | vrunend | nstrip | procstatus | ---------------------+-----------+---------+--------+------------+ 2000-01-31 23:59:59 | 1 | 944 | 35 | TEST | ---------------------+-----------+---------+--------+------------+ ------------+------------+----------+-------------------------------------+ readstatus | instrument | src | notes | ------------+------------+----------+-------------------------------------+ OK | T1 | testbeam | From Taka testbeam hot channel list | ------------+------------+----------+-------------------------------------+
Here is part of the hot strip list:
mysql> select * from tkr_striphot where summix = 1; +--------+-------+----------+---------+ | summix | layer | stripnum | percent | +--------+-------+----------+---------+ | 1 | 30 | 944 | 1.6 | | 1 | 28 | 39 | 0.66 | | 1 | 28 | 40 | 1.1 | | 1 | 27 | 16 | 8.2 | | 1 | 27 | 839 | 2.5 | | 1 | 27 | 836 | 0.11 |
...and so forth. Dead strips are treated in an analogous fashion, except that tkr_stripdead has a column fullydead, which may have value Y or N, rather than a column percent
The data in these tables are (still) stored by means of standalone programs which read ascii files derived from Taka's pages.
I've made some classes suitable for integration with other programs. Doxygen documentation can be found here. Briefly, there is a class for hot strips, a class for dead strips, a method to cut based on occupancy for the hot strips class, and a class for bad strips whose constructor merges a collection of hot strips and a collection of dead strips. The bad strips class has a method isMember to check if a given strip is bad.
The MySQL database and server are currently on the machine SLDL2 at SLAC. This is a perfectly appropriate place for development, but not for a production database; at the very least the production database belongs on a machine which is backed up regularly. We are starting negotiations with SCS on this issue.
Existing converters for Gaudi operate under the assumption that no application wants to access the persistent form of data except to convert it to an in-memory form. This is not a very good fit to the way a relational database is typically used; in particular, it does not support searching directory tables like tkr_striphotdir.