Changing the HEPDB logging level
+------------------------------------+
|CALL CDLOGL (PATH,LOGLEV,CHOPT,IRC) |
+------------------------------------+
- PATH
- Top directory name of HEPDB file.
- LOGLEV
- Log level
- <0
- no messages are printed
- 1
- error messages from main HEPDB routines (default
value)
- 2
- error messages and warnings from main HEPDB
routines
- 3
- error messages, warnings and informative messages
from main HEPDB routines
- 4
- as above, but also error messages from HEPDB
internal routines
- 5
- as above, but also warnings from HEPDB internal
routines
- >5
- all messages are printed, and also additional
debug.
- CHOPT
- Character option
- 'A'
- Set RZ loglevel for all HEPDB files that are
currently open
- IRC
- Integer return code
- 0
- Normal completion
- 1
- Invalid path name
- 2
- Database corresponding to specified path name is
not open
The level of diagnostic print out can be set at any time using the routine
CDLOGL. By default, the log level for each database file is set to 0 when
the routine CDOPEN is called. Note that this routine sets both the HEPDB
and RZ log levels.
Create a linear chain of keys banks
+------------------------------------------+
|CALL CDBOOK (PATH,LSUP,NBANKS,CHOPT,IRC*) |
+------------------------------------------+
- PATH
- Character variable specifying the pathname for
which the banks are to be created
- LSUP
- Address of the first bank in the linear chain
- NBANKS
- Number of banks to create
- CHOPT
- Character options (not used at present)
- IRC
- Integer return code
- 0
- Normal completion
- 99
- Insufficient dynamic storage to create all of the
requested banks
This routine creates a linear structure of NBANKS key banks. Each bank has
a single structural link, to which a databank may eventually be attached.
Create information bank containing usage information
+------------------------------------------+
| CALL CDINFO (IUDIV,LAD*,LSUP,JBIAS,IRC*) |
+------------------------------------------+
- IUDIV
- User division where the DBTB bank has
to be created
- LAD
- Address of the DBTB bank (should be in
the same store as all DB objects)
- LSUP
- Address of the supporting bank
- JBIAS
- Link bias as described in ZEBRA manual
- IRC
- Integer return code
- 0
- Normal completion
This routine creates the DBTB bank with information of the
database objects used for this event (since the last call to DBINFO). It
stores two words per object used, a unique identifier corresponding to the
path name and the serial number of the object (KEY(1) value)
Print statistics on database usage
+------------------------+
| CALL CDSTAT (LUN,IRC*) |
+------------------------+
- LUN
- Logical unit on which the statistics should be
printed
- IRC
- Integer return code
- 0
- Normal completion
- 98
- Invalid path name in node bank
This routine prints a summary of database usage for the current job on the
specified logical unit.
List directory
+------------------------------------------+
| CALL CDLDIR (PATH,LUN,NLEVEL,CHOPT,IRC*) |
+------------------------------------------+
- PATH
- Character string describing the pathname
- LUN
- Integer variable specifying the Fortran logical
unit on which the information should be printed
- NLEVEL
- The number of levels of subdirectories that
should be scanned.
- CHOPT
- Character string with any of the following
characters
- H
- Write a header showing the command and options
- C
- List the creation date and time of the
directory/ies
- M
- List the modification date and time of the
directory/ies
- O
- Display the number of objects
- R
- List subdirectories recursively
- S
- Display number of subdirectories
- T
- Display the tags for the directory/ies
- V
- Generate a "very wide" listing (132 columns)
- W
- Generate a "wide" listing (80 columns)
- IRC
- Integer return code
- 0
- Normal completion
- 101
- Illegal path name
- 102
- No key or data for specified path
List objects in a directory
+------------------------------------------------------------------+
|CALL CDLIST (CHPATH,KSN,CHBANK,ILNK1,ILNK2,IDAT1,IDAT2,CHOPT,IRC) |
+------------------------------------------------------------------+
- CHPATH
- Character variable specifying the path name to
list
- KSN
- Key serial number of a specific object, or 0. If
0 is specified, no check will be made on key serial number.
- CHBANK
- Character bank identifier (for option Z)
- ILNK1
- First link to be printed (as in DZSHOW)
- ILNK2
- Last link to be printed
- IDAT1
- First data word to be printed
- IDAT2
- Last data word to be printed
- CHOPT
- Character string with any of the following
characters
- C
- display object count
- D
- display key definitions
- E
- display the experiment keys
- G
- display keys using generic routine (RZPRNK)
- K
- display all keys
- L
- list only lowest level (end node) directories
- M
- show maxima and minima of validity ranges
- N
- display number of data words
- P
- display pathname
- S
- display the system keys
- T
- display insertion date and time (RZ value)
- U
- display user keys
- V
- display validity range pairs
- Z
- dump ZEBRA bank with DZSHOW
- IRC
-
Display objects in a directory
+------------------------------------------------------------------+
|CALL CDSHOW (CHPATH,KSN,CHBANK,ILNK1,ILNK2,IDAT1,IDAT2,CHOPT,IRC) |
+------------------------------------------------------------------+
- CHPATH
- Character variable specifying the path name to
list
- ISEL
- Integer vector specifying the instant of
validity
- IMASK
- Integer vector indicating which elements of
KEYS are significant for selection. If MASK corresponding to one of the
fields of 'Beginning' validity range is set, it will select objects with
start validity smaller than those requested in KEYS. If MASK corresponding
to one of the fields of 'End' validity range is set, it will select
objects with end validity larger than those in KEYS. If MASK corresponding
to time of insertion is set, objects inserted earlier than KEYS(IDHINS)
are selected
- KEYS
- Vector of keys.
- CHBANK
- ZEBRA bank name
- IDBANK
- ZEBRA bank identifier
- IDAT1
- First data word to be printed
- IDAT2
- Last data word to be printed
- CHOPT
- Character string with any of the following
characters
-
- Find all banks with position in walk > IDBANK
- S
- FInd bank with Zebra ID = IDBANK
- IRC
-
Obtain last object inserted into directory
+--------------------------------------------+
| CALL CDLKEY (PATH,KEY*,IDATE*,ITIME*,IRC*) |
+--------------------------------------------+
- PATH
- Character string describing the pathname
- KEY
- Scalar in which the highest KEY(1) (key serial
number) is returned. If option K is specified, then KEY must be a vector
of sufficient length to retrieve the entire key vector for objects in the
specified directory. The length of the key vector may be obtained using
the routine RZKEYD.
- IDATE
- Date (YYMMDD) of the insertion of the
last element
- ITIME
- Time (HHMM) of the insertion of the
last element
- CHOPT
- Character string with any of the following
characters
- ' '
- Return just the key serial number
(KEY(1))
- 'K'
- Return complete key vector in KEY
- IRC
- Integer return code
- 0
- Normal completion
- 131
- Illegal pathname
- 132
- Illegal number of keys in the directory
This routine returns the key serial number (optionally the complete key
vector) of the last object inserted into the specified directory. If the
option KEY must be of sufficient size as
to receive the complete vector.
Date of last directory modification
+--------------------------------------------+
|CALL CDLMOD (PATH,IDATE*,ITIME*,CHOPT,IRC*) |
+--------------------------------------------+
- PATH
- Character variable specifying the path name of
interest
- IDATE
- Date of last modification in YYMMDD
format
- ITIME
- Time of last modification in HHMM
format
- IRC
- Integer return code
- 0
- Normal completion
- 131
- Invalid path name
This routine returns the date and time of the last modification of the
specified directory.
Pack and unpack date and time
Two sets of routines are provided: CDPKTM and CDUPTM, for storing times
with 1 minute precision, and CDPKTS and CDUPTS which provide 1 second
precision. In the case of the latter two routines, only times relating to
1980 and after may be stored.
+--------------------------------------+
|CALL CDPKTM (IDATE,ITIME,IPACK*,IRC*) |
+--------------------------------------+
+--------------------------------------+
|CALL CDPKTS (IDATE,ITIME,IPACK*,IRC*) |
+--------------------------------------+
- IDATE
- Integer variable with date in YYMMDD
format
- ITIME
- Integer variable with time in HHMM
format for CDPKTM and in HHMMSS format for CDPKTS.
- IPACK*
- Integer variable to store the date and time
in packed format.
- IRC
- Integer return code
- 0
- Normal completion
- 93
- Illegal date or time
+----------------------------------------+
| CALL CDUPTM (IDATE*,ITIME*,IPACK,IRC*) |
+----------------------------------------+
+----------------------------------------+
| CALL CDUPTS (IDATE*,ITIME*,IPACK,IRC*) |
+----------------------------------------+
- IDATE*
- Integer variable to store the date in
YYMMDD format.
- ITIME*
- Integer variable with time in HHMM
format for CDUPTM and in HHMMSS format for CDUPTS.
- IPACK
- Integer variable with date and time in packed
format.
- IRC
- Integer return code
- 0
- Normal completion
- 93
- Illegal packed time
These routines allow a date and time to be stored in, and retrieved from a
4 byte integer word. IPACK must be the result of a previous call to
DATIME, entry
Z007, can be used to obtain IDATE and ITIME in
the correct format. The time can be obtained in the HHMMSS format
required by CDPKTS as shown in the following example.
Example of obtaining the time in HHMMSS format
*
* Subroutine DATIME returns the date and time in the format
* datime(id,it) ID=YYMMDD, e.g. 930425, IT=hhmm, e.g. 1230
* Additional information is also returned in the common SLATE,
* e.g. IS(6) = seconds
*
COMMON/SLATE/IS(40)
CALL DATIME(ID,IT)
IT = IT*100 + IS(6)