All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
pxprnt.f
Go to the documentation of this file.
1 CDECK ID>, PXPRNT.
2  SUBROUTINE pxprnt (IFST,ILST,ISZE,IPRT,ARRY,COPT)
3 *.*********************************************************
4 *. ------
5 *. PXPRNT
6 *. ------
7 *. SOURCE: J.W.Gary
8 *. Print-out of vectors from an array of vectors
9 *. Usage :
10 *.
11 *. INTEGER ITKDM,MXTRAK
12 *. PARAMETER (ITKDM=1.or.more,MXTRAK=1.or.more)
13 *. INTEGER IFST,ILST,ILEN
14 *. REAL ARRY (ITKDM,MXTRAK)
15 *. CHARACTER*1 COPT
16 *.
17 *. ... fill vectors PTRAK
18 *.
19 *. IFST = 1.to.MXTRAK
20 *. ILST = IFST.to.MXTRAK
21 *. ILEN = 1.to.ITKDM
22 *. COPT = '4'
23 *. CALL PXPRNT (IFST,ILST,ITKDM,ILEN,ARRY,COPT)
24 *.
25 *. ... example printout (with IFST=1,ILST=3,COPT='4')
26 *.
27 *. Vector Px Py Pz E
28 *. 1 -0.1431E+00 0.2408E+00 0.2636E+00 0.4092E+00
29 *. 2 0.4027E+00 0.3949E+00 -0.4255E+00 0.7202E+00
30 *. 3 -0.1195E+00 -0.1654E+00 0.7137E-01 0.2573E+00
31 *.
32 *. INPUT : IFST First vector to print
33 *. INPUT : ILST Last vector to print
34 *. INPUT : ITKDM The length of each vector in the array
35 *. INPUT : ILEN The number of elements in each vector
36 *. to print (1 to ILEN)
37 *. INPUT : ARRY The array containing the vectors
38 *. INPUT : COPT Printing option
39 *. ='4' for 4-momenta
40 *. ='E' for exponential (E12.4) formatting
41 *. =' ' for "standard" (F8.2) formatting
42 *.
43 *.*********************************************************
44  IMPLICIT NONE
45  INTEGER iol
46  parameter(iol=6)
47  INTEGER ifst,ilst,isze,ix,jx,iprt
48  REAL arry (isze,*)
49  CHARACTER*1 copt
50 
51  IF (iprt.LT.1.OR.iprt.GT.10) THEN
52  WRITE (iol,fmt='('' PXPRNT: Error,'',
53  + ''Array size must be between 1 and 10'')')
54  RETURN
55  END IF
56  IF (copt.EQ.'4') THEN
57  WRITE (iol,fmt='('' Vector'',4X,''Px'',10X,
58  + ''Py'',10X,''Pz'',10X,'' E'')')
59  ELSE IF (copt.EQ.'E') THEN
60  WRITE (iol,fmt='(:'' Vector'',I6,9(I12))')
61  + (ix,ix=1,iprt)
62  ELSE
63  WRITE (iol,fmt='(:'' Vector'',I6,9(I8))')
64  + (ix,ix=1,iprt)
65  END IF
66  DO 160 jx = ifst,ilst
67  IF (copt.EQ.'4') THEN
68  WRITE (iol,fmt='(1X,I4,4E12.4)')
69  + jx,(arry(ix,jx),ix=1,4)
70  ELSE IF (copt.EQ.'E') THEN
71  WRITE (iol,fmt='(:I5,1X,10(E12.4))')
72  + jx,(arry(ix,jx),ix=1,iprt)
73  ELSE
74  WRITE (iol,fmt='(:I5,1X,10(F8.2))')
75  + jx,(arry(ix,jx),ix=1,iprt)
76  END IF
77  160 CONTINUE
78  RETURN
79  END
subroutine pxprnt(IFST, ILST, ISZE, IPRT, ARRY, COPT)
Definition: pxprnt.f:2