]>
Commit | Line | Data |
---|---|---|
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 |