]>
Commit | Line | Data |
---|---|---|
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 : | |
12 | C | |
13 | C *** VARIOUS VECTOR OPERATIONS *** | |
14 | C | |
15 | C COPIED FROM F14BLO.PAMLIB 23.4.82 | |
16 | C AUTHOR: V.BLOBEL (UNIVERSITY OF HAMBURG) | |
17 | C DESYLIB | |
18 | C | |
19 | C *** BLANK COMMON REPLACED BY /VECUTY/ TO MATCH GEANT/GHEISHA CODE *** | |
20 | C *** NOTE THAT P(10,100) HAS BECOME PV(10,200) DUE TO THIS *** | |
21 | C | |
22 | C UN-USED ENTRIES REMOVED : | |
23 | C "PCOP" "PEXC" "PZER" "PWRT" "DOT4" "IMPU" "IMPULI" "ADD3" | |
24 | C "SUB3" "CROSS" "DOT" "SMUL" "NORZ" "PARPER" "PUNIT" "TRAP" | |
25 | C | |
26 | C *** ALL ENTRIES RE-WRITTEN AS SUBROUTINES USING ONLY NECESSARY *** | |
27 | C *** "DOUBLE PRECISION" STMTS. AND ALL SPECIFIC FUNCTIONS HAVE *** | |
28 | C *** BEEN CHANGED TO THEIR GENERIC EQUIVALENCES *** | |
29 | C *** NVE 29-MAR-1988 CERN GENEVA *** | |
30 | C | |
31 | C ORIGIN : H.FESEFELDT (22-JUNE-1984) | |
32 | C | |
33 | SUBROUTINE ANG(K,L,U,V) | |
34 | C | |
35 | C --- PV-ARRAY --- | |
36 | #include "geant321/mxgkgh.inc" | |
37 | #include "geant321/s_blankp.inc" | |
38 | C | |
39 | DOUBLE PRECISION A,B,C,D | |
40 | C | |
41 | A=0.0 | |
42 | B=0.0 | |
43 | C=0.0 | |
44 | DO 38 I=1,3 | |
45 | A=A+PV(I,K)*PV(I,K) | |
46 | B=B+PV(I,L)*PV(I,L) | |
47 | C=C+PV(I,K)*PV(I,L) | |
48 | 38 CONTINUE | |
49 | D=SQRT(A*B) | |
50 | IF (D .NE. 0.0) D=C/D | |
51 | IF (ABS(D) .GT. 1.D0) D=SIGN(1.D0,D) | |
52 | U=D | |
53 | V=ACOS(D) | |
54 | RETURN | |
55 | END |