5 * Revision 1.1.1.1 1995/10/24 10:20:48 cernlib
9 #include "geant321/pilot.h"
10 *CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani
12 SUBROUTINE GDTOM(XD,XM,IFLAG)
14 C. ******************************************************************
16 C. * Computes coordinates XM (Master Reference System *
17 C. * knowing the coordinates XD (Detector Ref System) *
18 C. * The local reference system can be initialized by *
19 C. * - the tracking routines and GDTOM used in GUSTEP *
20 C. * - a call to GSCMED(NLEVEL,NAMES,NUMBER) *
21 C. * (inverse routine is GMTOD) *
23 C. * If IFLAG=1 convert coordinates *
24 C. * IFLAG=2 convert direction cosinus *
26 C. * ==>Called by : <USER> *
27 C. * Author R.Brun ,M Hansroul ********* *
29 C. ******************************************************************
31 #include "geant321/gcvolu.inc"
33 EQUIVALENCE (N,NLEVEL)
35 C. ------------------------------------------------------------------
38 IF(GRMAT(10,N).NE.0.)THEN
39 XM(1) = GTRAN(1,N) + GRMAT(1,N)*XD(1) + GRMAT(4,N)*XD(2) +
41 XM(2) = GTRAN(2,N) + GRMAT(2,N)*XD(1) + GRMAT(5,N)*XD(2) +
43 XM(3) = GTRAN(3,N) + GRMAT(3,N)*XD(1) + GRMAT(6,N)*XD(2) +
47 XM(1) = GTRAN(1,N) + XD(1)
48 XM(2) = GTRAN(2,N) + XD(2)
49 XM(3) = GTRAN(3,N) + XD(3)
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)