IDA3 Conversion for SLD: Handypak to HBOOK Conversion Task List
This is a document Perl wrote in 1993 detailing what would be involved in
converting user code from Handypak to HBOOK.
It is presented here mainly for its value as a snapshot of what
Handypak functions SLD was actually using as of 1993.
Major Rewrites to a Small Number of Routines
The following small number of routines would require major rewrites:
-
Rewrite IHOUT MORTRAN2.
This is the histogram output routine.
Includes special entries, DSPHON and DSPHOF, that let the event display
take control of the output.
-
Rewrite IHANDY MORTRAN2.
This is the main histogram control routine.
-
Rewrite IHINIT MORTRAN2.
Sets SLD's version of histogram defaults.
-
Rewrite IHVALUE MORTRAN2?
This is a 31 line routine who's function is not clear to me.
Comment says "Interface to interactive functions for Handypak."
-
Rewrite IHDINI MORTRAN2?
This routine manages dynamic memory for Handypak.
Only does anything significant if run on IBM.
When run on VAX it simply does a standard CALL HINIT.
Not clear whether we will need such a routine for HBOOK.
-
Rewrite IHDUMP PREPMORT.
Writes out information about a given histogram in form needed by RTH.
Check with GRB.
-
Rewrite or replace IHCMPR PREPMORT.
Does a chi**2 comparison of two histograms.
Perhaps such a function already exists for HBOOK.
-
Rewrite or replace IHFILE PREPMORT.
Writes the contents of a given histogram to an ASCII file.
Perhaps such a function already exists for HBOOK.
-
Rewrite or eliminate IHCUM1 PREPMORT.
Stores entry into a rebinnable histogram.
Not necessary if HBOOK already supports rebinning.
-
Rewrite or eliminate IHOUTU PREPMORT.
This is a 3 line function that lets handypak plot a user function
(the fitting output) onto a histogram.
Need depends on how HBOOK handles plotting user functions.
Minor Rewrites to a Very Large Number of Routines
A search for the string "CALL H" in all PREP* and MORTRAN* files
on the PROD disk revealed that the following minor changes would
be needed to a large number of routines:
-
Replace zillions of HDEF1, HCUM1, HDEF2 and HCUM2 calls.
Alternatively, one could write dummy routines that convert the
handypak call to an appropriate HBOOK call (or calls).
-
Replace a lesser but still large number of
HOPTN, HOUT, HDEL, HCLR, HGET and HSTAT calls
and HPNTR, HX, HY, HZ, HXE, HYE and HZE function calls.
Alternatively, one could write dummy routines that convert the
handypak call to an appropriate HBOOK call (or calls).
Other Minor Rewrites
The same search revealed the following other special cases of minor changes
being needed:
-
Replace the HBLOCK calls in CRVDRFT PREPMORT.
This routine by Simopoulos does CRID drift velocity calibration.
-
Replace the HCOMB calls in DEHST PREPMORT.
This routine by Baranko checks EDC data quality.
-
Replace the HCOMB calls in WPHCHK PREPMORT.
This routine by SAUL checks WIC data quality.
-
Replace the HINIT call in DBHITS PREPMORT.
This routine by TAKAHASHI makes hit histograms from DCWSMHIT.
-
Replace the HINIT call in MBHTRG PREPMORT.
This routine by Kevin makes histograms of trigger information.
-
Replace the HINIT, HSLICE and HWRITE calls in WFSTAT PREPMORT.
This routine by Verdier makes histograms of WIC information.
-
Replace the HOPTC call in VARSET PREPMORT.
This routine by Toby overplots VARPRO fit functions onto histograms.
-
Replace the HOPTC call in DEFWAV PREPMORT.
This routine by Baranko makes histograms of EDC waveforms.
Note this routine uses CALL HOPTC rather than $CALL HOPTC.
Is this routine archaic?
-
Check HPAK calls in HSTLBL3 FORTRAN or MORTRAN.
This is a routine by Greg John called by KDUPCPL PREPMORT to label
peaks in KAL plots.
Have not actually been able to find HSTLBL3.
Is KDUPCPL PREPMORT archaic?
Joseph Perl
16 March 1995