]> git.uio.no Git - u/mrichter/AliRoot.git/blame - GEANT321/gscan/gscank.F
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / GEANT321 / gscan / gscank.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1995/10/24 10:21:36 cernlib
6* Geant
7*
8*
9#include "geant321/pilot.h"
10*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani
11*-- Author :
12 SUBROUTINE GSCANK
13*
14************************************************************************
15* Generates Kinematics for the SCAN utility *
16* *
17* ==>Called by : <USER>,GUKINE *
18* Author R.Brun ********* *
19************************************************************************
20*
21#include "geant321/gcbank.inc"
22#include "geant321/gcscal.inc"
23#include "geant321/gcscan.inc"
24#include "geant321/gcflag.inc"
25#include "geant321/gconsp.inc"
26*
27 DIMENSION VERTEX(3),PLAB(3),BUF(1)
28 DATA BUF/0./
29*
30* -----------------------------------------------------------------
31*
32 IF(LSCAN.EQ.0)CALL GSCANI
33*
34 VERTEX(1)=VSCAN(1)
35 VERTEX(2)=VSCAN(2)
36 VERTEX(3)=VSCAN(3)
37 IKSCAN = 48
38 DPHI = (PHIMAX-PHIMIN)/NPHI
39 DTETA = (TETMAX-TETMIN)/NTETA
40 CALL GSVERT(VERTEX,0,0,UBUF,0,NVERT)
41*
42 DO 20 IPHI=IPHI1,IPHIL
43 IF(LQ(LSCAN-IPHI).NE.0)GO TO 20
44 PHI=DEGRAD*(PHIMIN+(IPHI-0.5)*DPHI)
45 DO 10 ITETA=1,NTETA
46 TETA=TETMIN+(ITETA-0.5)*DTETA
47 IF(MODTET.EQ.1)THEN
48 THETA=2.*ATAN(EXP(-TETA))
49 ELSE IF(MODTET.EQ.2) THEN
50 THETA=DEGRAD*TETA
51 ELSE IF(MODTET.EQ.3) THEN
52 THETA=ACOS(TETA)
53 ENDIF
54 PLAB(1) = SIN(THETA)*COS(PHI)
55 PLAB(2) = SIN(THETA)*SIN(PHI)
56 PLAB(3) = COS(THETA)
57 CALL GSKINE(PLAB,IKSCAN,NVERT,BUF,0,NT)
58 10 CONTINUE
59 GO TO 30
60 20 CONTINUE
61*
62* Initialize LSTEMP
63*
64 30 CONTINUE
65 ISCUR=NTETA+1
66 IF(LSTEMP.EQ.0)THEN
67 CALL MZBOOK(IXCONS,LSTEMP,LSTEMP,1,'LPHI',0,0,30000,1,0)
68 ENDIF
69*
70* Kinematic debug (controled by ISWIT(1))
71*
72 IF(IDEBUG.EQ.1.AND.ISWIT(1).EQ.1) THEN
73 CALL GPRINT('VERT',0)
74 CALL GPRINT('KINE',0)
75 ENDIF
76*
77 END