DBHDR Database Header ========================== Contact: N. West, Oxford. Revision History:- ================ 1.03 N. West First version with revision history. 2.03 N. West Add PRINT_FLAG. 2.05 N. West Document tidy up. 3.00 N. West Complete rewrite for database access and dynamic titles management. Rename _CONNECT_ID -> _MANAGED_ID. R. Komar Add two mnemonics for checksum words (17 and 18). Remove the checksum word mnemonics. Titles Files ------------ * (all titles have headers) Verification ------------ Description ----------- All banks stored in the Database, and this includes "titles" banks start with a fixed length Database Header. See Management of Titles in the User and Programmer Manuals for further discussion of "titles". Reference Links --------------- n/a Structural Links ---------------- n/a Status Bits ----------- Note: Any status bit parameters are defined to work with bit functions such as IAND and BTEST. Data Words ---------- All data words are integer. KDBHD... _HSZ Size of header (not stored in header, see titles_dbhdr.inc) 1 _START_DATE Intrinsic start date in form YYYYMMDD. See Note 2. 2 _START_TIME Intrinsic start time in form HHMMSSCC. 3 _END_DATE Intrinsic end date in form YYYYMMDD. 4 _END_TIME Intrinsic end time in form HHMMSSCC. 5 _DATA_TYPE Data type.See Note 3 6 _TASK_TYPE Task number. Currently set to zero. See Note 4 7 _FORMAT_NUM Format number. Currently set to zero. See Note 5 8 _CREATION_DATE Date at which bank was created in form YYYYMMDD. 9 _CREATION_TIME Time at which bank was created in form HHMMSSCC. 10 _SOURCE_ID To be defined. 11 _EFF_START_DATE Effective start date in form YYYYMMDD. See Note 6 12 _EFF_START_TIME Effective start time in form HHMMSSCC. 13 _EFF_END_DATE Effective end date in form YYYYMMDD. 14 _EFF_END_TIME Effective end time in form HHMMSSCC. 15 _ENTRY_DATE Date at which bank was entered into the Master database in form YYYYMMDD. 16 _ENTRY_TIME Time at which bank was entered into the Master database in form HHMMSSCC. The remaining words, although part of the header, are updated by the Management of Titles system (MTT); the value as stored in the database is not significant. 24 _SOURCE Source of the bank for current job:- = 0 From database, =2 from titles file. 25 _MODIFIED Number of words modified by SET BANK commands. 26 _MANAGED_ID Connection Id. See Note 7 27 _MBT_PTR Link to the appropriate entry in MTT's internal Managed Bank Table. If = 0 the bank is "floating" i.e. not currently in use by MTT. 30 _PRINT_FLAG Print flag. Where appropriate, Software Units can use this word to control their print level. Convention:- -1 None. 0 Normal production level. >1 More (possibly debug) output. Notes ----- 1) To access the header part of a bank use the standard bank link (Lxxxx) rather than the data link (LDxxxx). For example:- ICONS(LNTPC + KDBHD_PRINT_FLAG) is the print flag word in the header of the NTPC bank whereas:- ICONS(LDNTPC + i) is the ith. data word of the NTPC. 2) The intrinsic validity range of a bank is the validity range a bank would have if placed in an otherwise empty database. 3) When attempting to match data types between database banks and the current event, MTT first attempts to find an exact match, but if that fails, will look for a more general one. The sequence is:- 1) An exact match. 2) For Monte Carlo data only, the equivalent real data type (e.g. for data type 21 (MC SNO) match 11 (Real SNO). 3) Data type 0 (universal). This represents a strict priority; higher entries in the list always take precedence over lower ones. 4) Task types are currently set to zero. They may be used in the future in a single processor needs to be optimised in different ways to do different tasks 5) Format Numbers are currently set to zero. They will be incremented only if a bank undergoes a non-backward compatible change. 6) The effective validity range of a bank is the validity range a bank has in the database as a result of neighbouring and overlaying banks which trim its intrinsic validity. 7) Each time a bank comes under MTT control, or is updated by MTT to honour a SET BANK command, it is given a new, unique Managed id. As this id will change each time the bank contents change, it can be used by the requesting SU to detect changes in its titles. Note: A change in a bank's validity, due to the introduction of neighbouring banks, does not cause the id to change.