October 10, 1989
1- PAW improvements
================
** Plotting metafiles on 3812 laser printers
With the new version of XPRINT recently introduced, it is now
possible to plot PostScript metafiles directly from PAW on a 3812 printer.
Two possibilities are indicated below.
METHOD 1: Plotting one single picture (the picture on your screen)
==================================================================
In your PAWLOGON KUMAC file add the two statements
option ZFL1
Alias/create xplot 'EXEC POST'
where POST KUMAC is a macro (see example on the PAW disk)
(replace your user name and favourite printer name)
macro POST 1=-111
Fortran/file 66 PAW.PS
Metafile -66 [1]
Picture/plot ' '
Close 66
SHELL CP SMSG PRINTSRV XPRINT [BRUN.191]PAW.PS (PR DD513A
return
Your PAW session could be:
PAW > Histo/file 1 myfile.dat
PAW > Histo/plot 10 | a copy of the picture on the screen
PAW > xplot | kept in memory (option ZFL1) is plotted
PAW > Histo/plot 20
PAW > Histo/plot 30 S
PAW > xplot | plot the second picture
PAW > size 24 20
PAW > Histo/plot 100
PAW > xplot -112 | plot 3rd picture in landscape mode
The parameter which may be given when calling the macro is the
metafile type:
-111 HIGZ/PostScript portrait mode
-112 HIGZ/PostScript landscape mode
12201 GKS/PostScript portrait mode
METHOD 2: Plotting a metafile with several pictures
===================================================
In your PAWLOGON KUMAC file add the statement
Alias/create xmeta 'SHELL CP SMSG PRINTSRV XPRINT [BRUN.191]PAW.PS (PR DD513A'
Your PAW session could be:
PAW > Histo/file 1 myfile.dat
PAW > Fortran/file 45 PAW.PS | open file PAW.PS
PAW > Metafile 45 -111 | open HIGZ/PostScript metafile
PAW > Histo/plot 10 | plot on screen and metafile
PAW > Histo/plot 20 | " "
PAW > Histo/plot 30 S
PAW > Close 45 | close metafile (next output on screen only)
PAW > xmeta | plot the metafile
We strongly recommend to use the HIGZ/PostScript metafiles (-111 or -112).
These metafiles are independent of the basic graphics package used (they
work with DECGKS for example). A rich set of PostScript fonts is available
and text is correctly centred.
It should be noted that in both cases, a message is sent to a service
machine to plot the file PAW PS and one may have to wait a few seconds
before overwriting PAW PS again.
** Note about directories and changing directory.
One must pay attention to the fact that newly created histograms
go to memory in the //PAWC directory (i.e. the /PAWC/ common).
As an example suppose that the current directory is //LUN1,
and an operation is performed on two histograms. These histograms are
first copied to memory //PAWC, the operation is performed
and the result is only available in //PAWC.
Similarly when histograms or Ntuples are plotted
(e.g. by the HISTO/PLOT command), they are copied to memory
possibly replacing an old copy of the same ID.
As long as the copy in memory is not changed, each time the ID is read
from the external file. This is because in a real time
environment, e.g. using global sections on VMS or
modules with OS9, the data base on the external medium can be
changed by concurrent processes.
However if the HBOOK data structure, associated with the
histogram or Ntuple in memory is altered (e.g. by a MAX, IDOPT, FIT command),
then it becomes the default for subsequent operations.
If one wants the original copy one first must delete the
copy from memory or explicitly use the pathname for the external file.
PAW > Histo/file 1 his.dat | The file contains ID=10
PAW > Histo/Plot 10 | ID=10 read from file and plotted
PAW > H/plot 10 | ID=10 read again from file and plotted
PAW > H/fit 10 ! G | read from file, make a Gaussian fit on //PAWC/10
PAW > H/plot 10 | ID=10 read from memory since it changed
PAW > H/del 10 | delete the histogram from memory
PAW > H/plot 10 | ID=10 read again from file and plotted
** The command Histo/plot accepts additional parameters.
* /HISTOGRAM/PLOT [ ID CHOPT ]
ID C 'Histogram Identifier'
CHOPT C 'Options' D=' ' R=' ,S,C,+,B,L,P,*,K,U,E,A,BOX,COL,SURF,
LEGO,CONT,TEXT,CHAR,HIST,FUNC'
Plot a single histogram or a 2-Dim projection.
Each plotted histogram will start
either a new picture or a new zone in the current picture.
A channel range may be specified for 1-Dim and 2-Dim histograms.
PAW > HIST/PLOT 10(nch1:nch2) | plot only channels between channels
| number 'nch1' and 'nch2'
| for a 1Dim histogram.
PAW > HIST/PLOT 10(nch1x:nch2x,nch1y:nch2y)
The subrange facility may also be used in other PAW commands such as:
LEGO, SURFACE, CONTOUR, Histo/Fit
CHOPT may be EITHER a combination of the following characters:
'S' Superimpose plot on top of existing picture.
'C' Draw a smooth curve.
'+' Add contents of ID to last plotted histogram.
'B' Select Bar chart format.
'L' Connect channels contents by a line.
'P' Draw the current polymarker at each channel or cell.
'*' Draw a * at each channel.
'K' must be given if option 'U' is given later.
'U' Update channels modified since last call.
'E' Draw error bars and current marker.
'A' Axis labels and tick marks are not drawn.
OR:
'BOX' draw 2-Dim with proportional boxes.
'COL' draw 2-Dim with a color table.
'SURF' draw 2-Dim as a surface plot (angles are 30,30).
'LEGO' draw 2-Dim as a lego plot (angles are 30,30).
'CONT' draw 2-Dim as a contour plot (15 levels).
'TEXT' draw 2-Dim as a table.
'CHAR' draw 2-Dim with characters (a la HBOOK).
'HIST' draw only histogram (not the associated function or errors).
'FUNC' draw only the associated function (not the histogram).
Note: All the single-character options can be combined.
All the multiple-characters new options (LEGO, BOX, ...,HIST, FUNC)
are mutually exclusive, but they can be combined
with (and only with) the option 'S' (SAME):
PAW > HIST/PLOT 20 CONT | PLot the 2Dim histo 20 as a CONTOUR PLOT
PAW > HIST/PLOT 20 SBOX | PLot histo 20 with BOX option on the same picture
When option 'E' is used, the marker type can be changed with SMK,
the marker size with SET KSIZ, the marker color with SPMCI.
To plot projection X of ID type
HI/PLOT ID.PROX
To plot band 1 in Y of ID type
HI/PLOT ID.BANY.1
To plot slice 3 in Y of ID type
HI/PLOT ID.SLIY.3
** New commands Histo/Fit and Vector/Fit
* /HISTOGRAM/FIT ID FUNC [ CHOPT NP PAR STEP PMIN PMAX ERRPAR ]
ID C 'Histogram Identifier'
FUNC C 'Function name' D=' '
CHOPT C 'Options' D=' ' R=' ,0,N,Q,V,B,L,D,W,M'
NP I 'Number of parameters' D=0 R=0:34
PAR C 'Vector of parameters'
STEP C 'Vector of steps size'
PMIN C 'Vector of lower bounds'
PMAX C 'Vector of upper bounds'
ERRPAR C 'Vector of errors on parameters'
Fit a user defined (and parameter dependent) function
to a histogram ID (1-Dim or 2-Dim) in the specified range.
Note that, unless otherwise requested (option 'N'), the fit results
are stored with the histogram data structure, and therefore the histogram
is considered changed.
FUNC may be:
A- The name of a file which contains the user defined
function to be minimised. Function name and file name
must be the same. For example file FUNC.FOR is:
FUNCTION FUNC(X) or FUNC(X,Y) for a 2-Dim histogram
COMMON/PAWPAR/PAR(2)
FUNC=PAR(1)*X +PAR(2)*EXP(-X)
END
Ex: His/fit 10 func.for ! 5 par
B- One of the following keywords (1-Dim only):
G : to fit Func=par(1)*exp(-0.5*((x-par(2))/par(3))**2)
E : to fit Func=exp(par(1)+par(2)*x)
Pn: to fit Func=par(1)+par(2)*x+par(3)*x**2......+par(n+1)*x**n
where 0 V/CR AA(10)
BB => V/CR BB(10)
V/LIST => V/LIST
COMMAND 'VECTOR/PLOT $1 555 $2'
AA E => VECTOR/PLOT AA 555 E
BB => VECTOR/PLOT BB 555 | $2 is undefined, and
| therefore ignored.
COMMAND => shows its current value
COMMAND * => reset (equivalent to COMMAND $*)
Note that COMMAND and subsequent command lines can be used inside macros,
except when producing macro statements (like EXEC, IF, GOTO, etc.).
For example, the above examples would work also inside macros, while
COMMAND 'EXEC $*' or COMMAND 'GOTO $1' will not.
The same remark applies also to the command DEFAULT -Auto,
which is in fact equivalent to COMMAND 'EXEC $*'
The COMMAND logic is superseded by the DEFAULT -A (or -AR) logic.
** New functionality for command MACRO/DEFAULTS:
* /MACRO/DEFAULTS [ CHPATH ]
CHPATH C 'Path name for macro files' D=' '
Set or show various MACRO attributes.
Entered without parameters, it shows the current "extra path"
to the 'default working directory',
as well as all macro parameters (name, default value)
relative to the latest EXEC command entered.
If CHPATH is supplied, set its value representing the "extra path".
The "extra path" is a string (e.g. the name of a disk directory) which
is added in front of the macro file names, whenever they are used in
the commands EDIT, EXEC and MACRO/LIST.
The extra path is ignored if a dash sign '-' is put in front of
the file name.
If CHPATH='*', the extra path is reset and the host computer's
current working directory is used.
Example:
DEFAULT 'DISK$DL:[PAW]'
MACRO/LIST | list macros in DISK$DL:[PAW]
EXEC FUNCTION | executes DISK$DL:[PAW]FUNCTION.KUMAC
EXEC -MYMACRO | executes MYMACRO.KUMAC
EXEC PALETTE | executes DISK$DL:[PAW]PALETTE.KUMAC
DEFAULT *
EXEC PALETTE | executes PALETTE.KUMAC
In addition to what described above, the command DEFAULTS may be used to
control whether commands and/or macros are searched (and in which order):
DEFAULT -Command
CMD | CMD is executed (error if not found)
DEFAULT -Auto
CMD | try CMD first; if not found, try EXEC CMD
DEFAULT -AutoReverse
CMD | try EXEC CMD first; if not found, try CMD
Note that -Auto can by abbreviated to -A, and -AutoReverse can be
abbreviated to -AR.
The startup value (also re-set by DEFAULT *) is DEFAULT -C
The DEFAULT -A (or -AR) logic supersedes the COMMAND logic.
Important note:
Inside macros the DEFAULT -A (or -AR) logic is not active:
DEFAULT -C is always assumed.
** Command APPLication is now working also inside macros. Example:
MACRO DEMO1
APPLication SIGMA EXIT
x=array(10,1#10)
y=sqrt(x)
EXIT
Graph 10 x y
RETURN
MACRO DEMO2
APPLication COMIS QUIT
do 10 i=1,10
x=sqrt(i)*10.
print *,i,x
10 continue
end
QUIT
RETURN
** Enhancements on the 'history file' mechanism:
The history file is updated automatically every 25 commands (but the rate
can be changed with the command RECORDING) and at the end of a PAW session,
either by EXIT or by QUIT.
At the beginning of another PAW session the old history file LAST.KUMAC
is renamed into LAST.KUMACOLD and a new LAST.KUMAC is opened.
In this way the user keeps always a track of all the commands entered in
the previous and in the current PAW sessions.
The history file also contains heading and trailing comment lines,
showing the date and time at which the PAW session was started/stopped.
The command LAST 0 MYFILE may be put in the user's
PAWLOGON.KUMAC to define the name of the history files
as MYFILE.KUMAC and MYFILE.KUMACOLD.
This is useful to avoid the sharing the same LAST.KUMAC file
by several KUIP-based applications running on the same disk directory.
** Simple wild-card (* at the end) in VECTOR/DELETE, for example: VEC/DEL RAW*
** VECTOR/CREATE is now handling the repetition factor '*'
(Lee Roberts/FERMILAB)
** Command WAIT is now full working also on IBM/VM-CMS
(Lee Roberts/FERMILAB)
** The default mode for HELP is -EDIT on IBM/VM-CMS
** On the Apollo files are opened in READ mode if no privilege for READ/WRITE
** Additional logic prevents the expansion of "[xxx]" strings
inside a macro if "xxx" is not used as an identifier. Examples:
MACRO A
.....
DIREC=123
.....
HISTO/FILE 1 [DIREC]JUNK.DAT ---> Opens file 123JUNK.DAT
..... because variable DIREC is defined
RETURN
MACRO B
.....
HISTO/FILE 1 [DIREC]JUNK.DAT ---> Opens file [DIREC]JUNK.DAT
..... because variable DIREC is not defined
RETURN
=====> Some bugs fixed
3- HPLOT/HIGZ improvements
=======================
In addition to the new options in the Histo/Plot command
described above:
* The HIGZ picture files have been compressed in case of 2-Dim plots.
Typical gains between 10 and 50 compared to the GKS metafiles.
* Detail changes in the appearance of contour plots.
* The Z-axis is drawn on LEGO and SURFACE plots.
* Option LOGZ on Z-axis is available in LEGO and SURFACE.
* New fill area styles available (> 100) with the following convention:
The fill area style index is coded on three digits 'ijk'.
The new styles are independent of the basic graphics package used.
i : Distance between lines in the hatch in mm
j : Angle between 90 and 180 degrees
k : Angle between 0 and 90 degrees
++-----------------------------------------------------------------------++
|| Codes for the HIGZ portable fill area interior styles ||
++-----------+------------++-----------+---------++------------+---------++
|| Digit i | Distance || Digit j | Angle || Digit k | Angle ||
++-----------+------------++-----------+---------++------------+---------++
|| | || 0 | 180 deg || 0 | 0 deg ||
|| 1 | 0.75 mm || 1 | 170 deg || 1 | 10 deg ||
|| 2 | 1.50 mm || 2 | 160 deg || 2 | 20 deg ||
|| 3 | 2.25 mm || 3 | 150 deg || 3 | 30 deg ||
|| 4 | 3.00 mm || 4 | 135 deg || 4 | 45 deg ||
|| 5 | 3.75 mm || 5 |not drawn|| 5 |not drawn||
|| 6 | 4.50 mm || 6 | 120 deg || 6 | 60 deg ||
|| 7 | 5.25 mm || 7 | 110 deg || 7 | 70 deg ||
|| 8 | 6.00 mm || 8 | 100 deg || 8 | 80 deg ||
|| 9 | 6.75 mm || 9 | 90 deg || 9 | 90 deg ||
++-----------+------------++-----------+---------++------------+---------++
For example:
PAW > SET HTYP 190 | Set the interior of histogram to be hatched
| with lines at 0 and 90 degrees (0.75 mm spacing)
PAW > SET HTYP 444 | Set the interior of histogram to be hatched
| with lines at +45 and -45 degrees (3 mm spacing)
4- HBOOK improvements
=================
* Maximum number of variables in a Ntuple changed to 512
* New improvements in the fitting routines.
* New fitting routines HFITH and HFITV introduced
(will be described in the HBOOK manual to come soon)
* Fit parameters now stored with histogram data structure.
This means that if the histogram is saved into a file
the fitted parameters will be accessible to the next
PAW session.
5- COMIS improvements
==================
The following improvements have recently being implemented
in COMIS by Vladimir Berezhnoi (IHEP, Serpukhov).
** some bugs have been removed
** The Symbol _ can be used in names.
** More correct treatments of tabs for VAX version
** Lower case characters in 'constant' are not changed to uppercase
** A nearly complete Fortran77 Input/Output is now available.
1) Formatted sequential input/output
2) Unformatted sequential input/output
3) Unformatted direct access input/output
4) Formatted direct access input/output
There are restrictions on unformatted i/o list:
a) read(lun) n,(buf(i),i=1,n) is wrong and not detected.
b) read(lun) string(2:i) will cause wrong result
read ([unit=]lun, [fmt=]fmt [ [,err=lab] [,end=lab] [,iostat=iv] )ilist
write([unit=]lun, [fmt=]fmt [ [,err=lab] [,iostat=iv] )olist
fmt can be character constant: i.e. '(A)'
new descriptors are added to format: Tn,TLn,TRn,n(....),On,Zn
example: format(T2,4(O8,TR4,Z8,TL8,I8),:,I6//)
Note however that COMIS does not support nP,S,SS,SP,BN,BZ format_descriptors.
** On IBM file names may be given as: file.ext or file ext
** The INQUIRE statement has been added.
INQUIRE(FILE=file,slist)
or
INQUIRE(UNIT=lun,slist)
** A interface with KUIP vectors has been added.
A statement: VECTOR A(25,12,4),B(16),C(*),D
can be used in COMIS routines to declare KUIP vectors,
If the KUIP vector does not exist, it is created.
6- New PAW documentation
=====================
Our new PAW manual is now finished. It will be available
at the CERN Library office on October 20.
![]() | Release Notes | Known bugs | FAQs | Contributions | Tutorial | Reference manual | Down load | Miscellaneous |