]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | * |
2 | * $Id$ | |
3 | * | |
4 | * $Log$ | |
5 | * Revision 1.1.1.1 1995/10/24 10:20:18 cernlib | |
6 | * Geant | |
7 | * | |
8 | * | |
9 | #include "geant321/pilot.h" | |
10 | *CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani | |
11 | *-- Author : | |
12 | SUBROUTINE GSTPAR(ITMED,CHPAR,PARVAL) | |
13 | * | |
14 | ************************************************************************ | |
15 | * * | |
16 | * To change the value of cut or mechanism "CHPAR" * | |
17 | * to a new value PARVAL for tracking medium ITMED * | |
18 | * The data structure JTMED contains the standard tracking * | |
19 | * parameters (CUTS and flags to control the physics processes) which * | |
20 | * are used by default for all tracking media. It is possible to * | |
21 | * redefine individually with GSTPAR any of these parameters for a * | |
22 | * given tracking medium. * | |
23 | * ITMED tracking medium number * | |
24 | * CHPAR is a character string (variable name) * | |
25 | * PARVAL must be given as a floating point. * | |
26 | * For example to change CUTGAM to 0.0001 * | |
27 | * * | |
28 | * ==>Called by : <USER> * | |
29 | * Author R.Brun ********* * | |
30 | * * | |
31 | ************************************************************************ | |
32 | * | |
33 | #include "geant321/gcbank.inc" | |
34 | #include "geant321/gcphys.inc" | |
35 | #include "geant321/gccuts.inc" | |
36 | #include "geant321/gcunit.inc" | |
37 | #include "geant321/gcnum.inc" | |
38 | DIMENSION CUTS(10),MECA(5,13) | |
39 | EQUIVALENCE (CUTS(1),CUTGAM),(MECA(1,1),IPAIR) | |
40 | CHARACTER*(*) CHPAR | |
41 | C. | |
42 | C. ------------------------------------------------------------------ | |
43 | C. | |
44 | IF(ITMED.LE.0)GO TO 90 | |
45 | IF(ITMED.GT.NTMED)GO TO 90 | |
46 | JTM=LQ(JTMED-ITMED) | |
47 | IF(JTM.LE.0)GO TO 90 | |
48 | JTMN=LQ(JTM) | |
49 | IF(JTMN.EQ.0)THEN | |
50 | CALL MZBOOK(IXCONS,JTMN,JTM,0,'TCUT',0,0,40,3,0) | |
51 | IQ(JTMN-5)=ITMED | |
52 | DO 10 I=1,10 | |
53 | Q(JTMN+I)=CUTS(I) | |
54 | 10 CONTINUE | |
55 | DO 20 I=1,13 | |
56 | Q(JTMN+10+I)=MECA(1,I) | |
57 | 20 CONTINUE | |
58 | * | |
59 | * *** New mechanisms in version 3.16 | |
60 | Q(JTMN+10+21)=ILABS | |
61 | Q(JTMN+10+22)=ISYNC | |
62 | Q(JTMN+10+23)=ISTRA | |
63 | ENDIF | |
64 | C | |
65 | ITPAR=0 | |
66 | IF(CHPAR.EQ.'CUTGAM')ITPAR=1 | |
67 | IF(CHPAR.EQ.'CUTELE')ITPAR=2 | |
68 | IF(CHPAR.EQ.'CUTNEU')ITPAR=3 | |
69 | IF(CHPAR.EQ.'CUTHAD')ITPAR=4 | |
70 | IF(CHPAR.EQ.'CUTMUO')ITPAR=5 | |
71 | IF(CHPAR.EQ.'BCUTE' )ITPAR=6 | |
72 | IF(CHPAR.EQ.'BCUTM' )ITPAR=7 | |
73 | IF(CHPAR.EQ.'DCUTE' )ITPAR=8 | |
74 | IF(CHPAR.EQ.'DCUTM' )ITPAR=9 | |
75 | IF(CHPAR.EQ.'PPCUTM')ITPAR=10 | |
76 | IF(CHPAR.EQ.'PAIR' )ITPAR=11 | |
77 | IF(CHPAR.EQ.'COMP' )ITPAR=12 | |
78 | IF(CHPAR.EQ.'PHOT' )ITPAR=13 | |
79 | IF(CHPAR.EQ.'PFIS' )ITPAR=14 | |
80 | IF(CHPAR.EQ.'DRAY' )ITPAR=15 | |
81 | IF(CHPAR.EQ.'ANNI' )ITPAR=16 | |
82 | IF(CHPAR.EQ.'BREM' )ITPAR=17 | |
83 | IF(CHPAR.EQ.'HADR' )ITPAR=18 | |
84 | IF(CHPAR.EQ.'MUNU' )ITPAR=19 | |
85 | IF(CHPAR.EQ.'DCAY' )ITPAR=20 | |
86 | IF(CHPAR.EQ.'LOSS' )ITPAR=21 | |
87 | IF(CHPAR.EQ.'MULS' )ITPAR=22 | |
88 | IF(CHPAR.EQ.'RAYL' )ITPAR=23 | |
89 | IF(CHPAR.EQ.'GHCOR1')ITPAR=26 | |
90 | IF(CHPAR.EQ.'GHCOR2')ITPAR=27 | |
91 | IF(CHPAR.EQ.'GHCOR3')ITPAR=28 | |
92 | IF(CHPAR.EQ.'GHCOR4')ITPAR=29 | |
93 | IF(CHPAR.EQ.'BIRK1' )ITPAR=27 | |
94 | IF(CHPAR.EQ.'BIRK2' )ITPAR=28 | |
95 | IF(CHPAR.EQ.'BIRK3' )ITPAR=29 | |
96 | IF(CHPAR.EQ.'LABS' ) ITPAR=31 | |
97 | IF(CHPAR.EQ.'SYNC' ) ITPAR=32 | |
98 | IF(CHPAR.EQ.'STRA' ) ITPAR=33 | |
99 | IF(ITPAR.NE.0)THEN | |
100 | Q(JTMN+ITPAR)=PARVAL | |
101 | IF(ITPAR.EQ.21)THEN | |
102 | KLOSS=PARVAL+0.001 | |
103 | IF(KLOSS.EQ.3.OR.KLOSS.EQ.1)Q(JTMN+15)=1. | |
104 | ENDIF | |
105 | ELSE | |
106 | WRITE(CHMAIL,1000)ITMED,CHPAR | |
107 | CALL GMAIL(0,0) | |
108 | ENDIF | |
109 | GO TO 99 | |
110 | C | |
111 | 90 WRITE(CHMAIL,2000)ITMED | |
112 | CALL GMAIL(0,0) | |
113 | C | |
114 | 1000 FORMAT(' ***** GSTPAR error for tracking medium ', | |
115 | + I3,' Tracking parameter ',A,' not defined ***** ') | |
116 | 2000 FORMAT(' ***** GSTPAR error. Tracking medium NR ', | |
117 | + I3,' not defined ***** ') | |
118 | 99 END | |
119 |