]> git.uio.no Git - u/mrichter/AliRoot.git/blame - GEANT321/ggeom/gdtom.F
Minor corrections after big transformer changes
[u/mrichter/AliRoot.git] / GEANT321 / ggeom / gdtom.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1995/10/24 10:20:48 cernlib
6* Geant
7*
8*
9#include "geant321/pilot.h"
10*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani
11*-- Author :
12 SUBROUTINE GDTOM(XD,XM,IFLAG)
13C.
14C. ******************************************************************
15C. * *
16C. * Computes coordinates XM (Master Reference System *
17C. * knowing the coordinates XD (Detector Ref System) *
18C. * The local reference system can be initialized by *
19C. * - the tracking routines and GDTOM used in GUSTEP *
20C. * - a call to GSCMED(NLEVEL,NAMES,NUMBER) *
21C. * (inverse routine is GMTOD) *
22C. * *
23C. * If IFLAG=1 convert coordinates *
24C. * IFLAG=2 convert direction cosinus *
25C. * *
26C. * ==>Called by : <USER> *
27C. * Author R.Brun ,M Hansroul ********* *
28C. * *
29C. ******************************************************************
30C.
31#include "geant321/gcvolu.inc"
32 DIMENSION XD(3),XM(3)
33 EQUIVALENCE (N,NLEVEL)
34C.
35C. ------------------------------------------------------------------
36C.
37 IF(IFLAG.EQ.1)THEN
38 IF(GRMAT(10,N).NE.0.)THEN
39 XM(1) = GTRAN(1,N) + GRMAT(1,N)*XD(1) + GRMAT(4,N)*XD(2) +
40 + GRMAT(7 ,N)*XD(3)
41 XM(2) = GTRAN(2,N) + GRMAT(2,N)*XD(1) + GRMAT(5,N)*XD(2) +
42 + GRMAT(8 ,N)*XD(3)
43 XM(3) = GTRAN(3,N) + GRMAT(3,N)*XD(1) + GRMAT(6,N)*XD(2) +
44 + GRMAT(9 ,N)*XD(3)
45*
46 ELSE
47 XM(1) = GTRAN(1,N) + XD(1)
48 XM(2) = GTRAN(2,N) + XD(2)
49 XM(3) = GTRAN(3,N) + XD(3)
50*
51 ENDIF
52*
53 ELSE
54 IF(GRMAT(10,N).NE.0.)THEN
55 XM(1)=GRMAT(1,N)*XD(1)+GRMAT(4,N)*XD(2)+GRMAT(7,N)*XD(3)
56 XM(2)=GRMAT(2,N)*XD(1)+GRMAT(5,N)*XD(2)+GRMAT(8,N)*XD(3)
57 XM(3)=GRMAT(3,N)*XD(1)+GRMAT(6,N)*XD(2)+GRMAT(9,N)*XD(3)
58*
59 ELSE
60 XM(1) = XD(1)
61 XM(2) = XD(2)
62 XM(3) = XD(3)
63*
64 ENDIF
65*
66 ENDIF
67 END