1 |
cafagna |
1.1 |
SUBROUTINE GUHADR |
2 |
|
|
C=========== This will work only with GCALOR V1.01/15 and up ====== |
3 |
|
|
C*************************************************************** |
4 |
|
|
C |
5 |
|
|
C CALOR-GEANT Interface common |
6 |
|
|
C |
7 |
|
|
C parameters of incident particle : |
8 |
|
|
C IPinc = particle type a la CALOR |
9 |
|
|
C Einc = kinetic energy |
10 |
|
|
C Uinc(3) = direction cosines |
11 |
|
|
C material parameters: |
12 |
|
|
C NCEL = number of elements in mixture (NMTC) |
13 |
|
|
C GEANT material no. for MICAP |
14 |
|
|
C Amed(I) = mass number |
15 |
|
|
C Zmed(I) = charge number |
16 |
|
|
C Dmed(I) = Atoms/cm**3 * 1E-24 |
17 |
|
|
C Hden = Atoms/cm**3 * 1E-24 |
18 |
|
|
C of H-Atoms in mixture |
19 |
|
|
C |
20 |
|
|
C particle stack: |
21 |
|
|
C NPHETC = number of particles |
22 |
|
|
C Ekinet(1:NPHETC) = kinetic energy of part. |
23 |
|
|
C IPCAL(1:NPHETC) = particle type a la CALOR (extended) |
24 |
|
|
C UCAL(1:NPHETC,3) = direction cosines |
25 |
|
|
C CALTIM(1:NPHETC) = age of particle (nsec) |
26 |
|
|
C |
27 |
|
|
C ATARGT = A no. of target nucleus |
28 |
|
|
C ZTARGT = Z no of target nucleus |
29 |
|
|
C |
30 |
|
|
C return of residual nucleus information |
31 |
|
|
C NRECOL = no. of heavy recoil products |
32 |
|
|
C Amed(I) = mass number of residual nucleus |
33 |
|
|
C Zmed(I) = charge number " " |
34 |
|
|
C EXmed = exitation energy of nucleus |
35 |
|
|
C ERmed(I)= recoil energy of nucleus |
36 |
|
|
C IntCal = type of interaction (GEANT NAMEC index) |
37 |
|
|
C return of cross section of hadronic interaction (CALSIG called) |
38 |
|
|
C SIG = x-section |
39 |
|
|
C |
40 |
|
|
C set by CALSIG: |
41 |
|
|
C ICPROC = -1 undefined |
42 |
|
|
C = 0 NMTC called for cross-section |
43 |
|
|
C = 1 MICAP called for cross-section |
44 |
|
|
C = 2 SKALE(NMTC at 3 GeV) called for cross-section |
45 |
|
|
C = 3 FLUKA called for cross-section |
46 |
|
|
C KCALL : same coding as ICPROC, but is only valid after a |
47 |
|
|
C call to GCALOR |
48 |
|
|
C 19/5/92 C.Zeitnitz University of Arizona |
49 |
|
|
C**************************************************************** |
50 |
|
|
C |
51 |
|
|
PARAMETER(EMAXP = 3.495) |
52 |
|
|
PARAMETER(EMAXPI = 2.495) |
53 |
|
|
C transition upper limit (GeV) NMTC-FLUKA |
54 |
|
|
PARAMETER(ESKALE = 10.0) |
55 |
|
|
PARAMETER(MXCP = 300) |
56 |
|
|
C |
57 |
|
|
COMMON/ CALGEA / IPINC , EINC , UINC(3) ,NCEL , |
58 |
|
|
+ HDEN , AMED(100) , ZMED(100) ,DMED(100) , |
59 |
|
|
+ NPHETC ,EKINET(MXCP),IPCAL(MXCP),UCAL(MXCP,3), |
60 |
|
|
+ INTCAL , EXMED , ERMED(100),SIG , |
61 |
|
|
+ CALTIM(MXCP), ICPROC, NRECOL ,KCALL , |
62 |
|
|
+ ATARGT , ZTARGT |
63 |
|
|
C |
64 |
|
|
C |
65 |
|
|
Real*8 AMNTAR, AMMTAR, AMNZM1, AMMZM1, AMNNM1, AMMNM1, |
66 |
|
|
& ANOW, ZNOW, ANCOLL, ZNCOLL, ERES, EKRES, |
67 |
|
|
& AMNRES, AMMRES, PTRES, PXRES, PYRES, PZRES, |
68 |
|
|
& PTRES2 |
69 |
|
|
|
70 |
|
|
COMMON /FKRESN/ AMNTAR, AMMTAR, AMNZM1, AMMZM1, AMNNM1, AMMNM1, |
71 |
|
|
& ANOW, ZNOW, ANCOLL, ZNCOLL, ERES, EKRES, |
72 |
|
|
& AMNRES, AMMRES, PTRES, PXRES, PYRES, PZRES, |
73 |
|
|
& PTRES2, KTARP, KTARN, IGREYP, IGREYN, ICRES, |
74 |
|
|
& IBRES, IEVAPL, IEVAPH, IEVNEU, IEVPRO, IEVDEU, |
75 |
|
|
& IEVTRI, IEV3HE, IEV4HE, IDEEXG, IBTAR, ICHTAR, |
76 |
|
|
& IOTHER |
77 |
|
|
C |
78 |
|
|
*KEEP,GCKING. |
79 |
|
|
INTEGER MXGKIN |
80 |
|
|
PARAMETER (MXGKIN=100) |
81 |
|
|
COMMON/GCKING/KCASE,NGKINE,GKIN(5,MXGKIN), |
82 |
|
|
+ TOFD(MXGKIN),IFLGK(MXGKIN) |
83 |
|
|
INTEGER KCASE,NGKINE ,IFLGK |
84 |
|
|
REAL GKIN,TOFD |
85 |
|
|
C |
86 |
|
|
C |
87 |
|
|
Logical FFLUKA,FMICAP,FNMTC,FSKALE |
88 |
|
|
SAVE |
89 |
|
|
C |
90 |
|
|
C now call GEANT-CALOR interface |
91 |
|
|
CALL GCALOR |
92 |
|
|
C which program has been called ? |
93 |
|
|
FFLUKA = KCALL .EQ. 3 .and. ngkine .gt. 0 |
94 |
|
|
FMICAP = KCALL .EQ. 1 .and. ngkine .gt. 0 |
95 |
|
|
FNMTC = KCALL .EQ. 0 .and. ngkine .gt. 0 |
96 |
|
|
FSKALE = KCALL .EQ. 2 .and. ngkine .gt. 0 |
97 |
|
|
IF(FFLUKA) THEN |
98 |
|
|
C Fluka calculated the interaction |
99 |
|
|
C Recoil nucleus information in: |
100 |
|
|
C EKRES : kinetic energy (GeV) |
101 |
|
|
C ANOW : A of recoil nucleus |
102 |
|
|
C ZNOW : Z of recoil nucleus |
103 |
|
|
Call Hfill(100+kcall,sngl(ekres),1.,1.) |
104 |
|
|
Call Hfill(200+kcall,sngl(anow),1.,1.) |
105 |
|
|
Call Hfill(300+kcall,sngl(znow),1.,1.) |
106 |
|
|
ELSE IF(FMICAP.or.FNMTC.or.FSKALE) THEN |
107 |
|
|
C HETC or MICAP calculated the interaction |
108 |
|
|
C Recoil nucleus information in: |
109 |
|
|
C ERMED(I) : kinetic energy (MeV) |
110 |
|
|
C AMED(I) : A of recoil nucleus |
111 |
|
|
C ZMED(I) : Z of recoil nucleus |
112 |
|
|
C NRECOL : number of heavy recoil products |
113 |
|
|
C ATARGT : A of target nucleus |
114 |
|
|
C ZTARGT : Z of target nucleus |
115 |
|
|
do i=1,nrecol |
116 |
|
|
Call Hfill(100+kcall,ermed(i)/1000.,1.,1.) |
117 |
|
|
Call Hfill(200+kcall,amed(i),1.,1.) |
118 |
|
|
Call Hfill(300+kcall,zmed(i),1.,1.) |
119 |
|
|
enddo |
120 |
|
|
ENDIF |
121 |
|
|
RETURN |
122 |
|
|
END |