]> git.uio.no Git - u/mrichter/AliRoot.git/blame - GEANT321/gheisha/defs.F
README file from R.Barbera
[u/mrichter/AliRoot.git] / GEANT321 / gheisha / defs.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1995/10/24 10:21:07 cernlib
6* Geant
7*
8*
9#include "geant321/pilot.h"
10*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani
11*-- Author :
12C
13C *** VARIOUS VECTOR OPERATIONS ***
14C
15C COPIED FROM F14BLO.PAMLIB 23.4.82
16C AUTHOR: V.BLOBEL (UNIVERSITY OF HAMBURG)
17C DESYLIB
18C
19C *** BLANK COMMON REPLACED BY /VECUTY/ TO MATCH GEANT/GHEISHA CODE ***
20C *** NOTE THAT P(10,100) HAS BECOME PV(10,200) DUE TO THIS ***
21C
22C UN-USED ENTRIES REMOVED :
23C "PCOP" "PEXC" "PZER" "PWRT" "DOT4" "IMPU" "IMPULI" "ADD3"
24C "SUB3" "CROSS" "DOT" "SMUL" "NORZ" "PARPER" "PUNIT" "TRAP"
25C
26C *** ALL ENTRIES RE-WRITTEN AS SUBROUTINES USING ONLY NECESSARY ***
27C *** "DOUBLE PRECISION" STMTS. AND ALL SPECIFIC FUNCTIONS HAVE ***
28C *** BEEN CHANGED TO THEIR GENERIC EQUIVALENCES ***
29C *** NVE 29-MAR-1988 CERN GENEVA ***
30C
31C ORIGIN : H.FESEFELDT (22-JUNE-1984)
32C
33 SUBROUTINE DEFS(K,L,M)
34C
35C --- PV-ARRAY ---
36#include "geant321/mxgkgh.inc"
37#include "geant321/s_blankp.inc"
38C
39 DOUBLE PRECISION A,B
40C
41 MX=M
42 MY=M+1
43 MZ=M+2
44 DO 52 I=1,3
45 F=PV(I,K)
46 H=PV(I,L)
47 PV(I,MY)=F
48 PV(I,MZ)=H
49 52 CONTINUE
50 A=PV(2,MY)*PV(3,MZ)
51 B=PV(3,MY)*PV(2,MZ)
52 PV(1,MX)=A-B
53 A=PV(3,MY)*PV(1,MZ)
54 B=PV(1,MY)*PV(3,MZ)
55 PV(2,MX)=A-B
56 A=PV(1,MY)*PV(2,MZ)
57 B=PV(2,MY)*PV(1,MZ)
58 PV(3,MX)=A-B
59 A=PV(2,MZ)*PV(3,MX)
60 B=PV(3,MZ)*PV(2,MX)
61 PV(1,MY)=A-B
62 A=PV(3,MZ)*PV(1,MX)
63 B=PV(1,MZ)*PV(3,MX)
64 PV(2,MY)=A-B
65 A=PV(1,MZ)*PV(2,MX)
66 B=PV(2,MZ)*PV(1,MX)
67 PV(3,MY)=A-B
68 DO 58 J=MX,MZ
69 A=0.0
70 DO 54 I=1,3
71 A=A+PV(I,J)*PV(I,J)
72 54 CONTINUE
73 B=SQRT(A)
74 IF (B .NE. 0.0) B=1.0/B
75 DO 56 I=1,3
76 PV(I,J)=B*PV(I,J)
77 56 CONTINUE
78 58 CONTINUE
79 RETURN
80 END