]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | * |
2 | * $Id$ | |
3 | * | |
4 | * $Log$ | |
5 | * Revision 1.1.1.1 1995/10/24 10:20:54 cernlib | |
6 | * Geant | |
7 | * | |
8 | * | |
9 | #include "geant321/pilot.h" | |
10 | *CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani | |
11 | *-- Author : | |
12 | SUBROUTINE GRMUL(RMAT,IROT,RMATN) | |
13 | C. | |
14 | C. ****************************************************************** | |
15 | C. * * | |
16 | C * ROUTINE MULTIPLIES ROTATION MATRIX RMAT BY THE * | |
17 | C * IROT TH MATRIX IN THE GEANT ROTATION MATRIX BANK * | |
18 | C * TO PRODUCE THE MATRIX RMATN SUCH THAT RMATN IS * | |
19 | C * THE RESULT OF FIRST RMAT THEN IROT. * | |
20 | C * * | |
21 | C. * ==>Called by : GTRMUL * | |
22 | C. * Author A.McPherson ********* * | |
23 | C. * * | |
24 | C. ****************************************************************** | |
25 | C. | |
26 | #include "geant321/gcbank.inc" | |
27 | DIMENSION RMAT(10),RMATN(10) | |
28 | C. | |
29 | C. ------------------------------------------------------------------ | |
30 | C. | |
31 | IF(IROT.EQ.0) THEN | |
32 | DO 10 I=1,10 | |
33 | RMATN(I)=RMAT(I) | |
34 | 10 CONTINUE | |
35 | ELSE | |
36 | JR=LQ(JROTM-IROT) | |
37 | RMATN(10)=1. | |
38 | IF(RMAT(10).EQ.0.0) THEN | |
39 | DO 20 I=1,9 | |
40 | RMATN(I)=Q(JR+I) | |
41 | 20 CONTINUE | |
42 | ELSE | |
43 | C | |
44 | DO 30 KO=1,9 | |
45 | RMATN(KO)=0.0 | |
46 | C | |
47 | KO1=(KO-1)/3+1 | |
48 | KO2=KO-(KO1-1)*3 | |
49 | C | |
50 | DO 30 IN=1,3 | |
51 | KI1=KO2+(IN-1)*3 | |
52 | KI2=IN+(KO1-1)*3 | |
53 | RMATN(KO)=RMATN(KO)+RMAT(KI1)*Q(JR+KI2) | |
54 | 30 CONTINUE | |
55 | ENDIF | |
56 | ENDIF | |
57 | END |