]> git.uio.no Git - u/mrichter/AliRoot.git/blame - GEANT321/gheisha/pimabs.F
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / GEANT321 / gheisha / pimabs.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1995/10/24 10:20:59 cernlib
6* Geant
7*
8*
9#include "geant321/pilot.h"
10*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani
11*-- Author :
12 SUBROUTINE PIMABS(NOPT)
13C
14C *** CHARGED PION ABSORPTION BY A NUCLEUS ***
15C *** NVE 04-MAR-1988 CERN GENEVA ***
16C
17C ORIGIN : H.FESEFELDT (09-JULY-1987)
18C
19C PANOFSKY RATIO (PI- P --> N PI0/PI- P --> N GAMMA) = 3/2
20C FOR CAPTURE ON PROTON (HYDROGEN),
21C STAR PRODUCTION FOR HEAVIER ELEMENTS
22C
23#include "geant321/s_defcom.inc"
24 DIMENSION RNDM(4)
25 SAVE NT
26C
27 CALL COMPO
28 PV(1,1)=0.
29 PV(2,1)=0.
30 PV(3,1)=0.
31 PV(4,1)=RMASS(9)
32 PV(5,1)=RMASS(9)
33 PV(6,1)=-1.
34 PV(7,1)=TOF
35 PV(8,1)=IPART
36 PV(9,1)=0.
37 PV(10,1)=USERW
38 IER(87)=IER(87)+1
39 IF(ATNO2.GT.1.5) GOTO 30
40 CALL GRNDM(RNDM,2)
41 RAN=RNDM(1)
42 ISW=1
43 IF(RAN.LT.0.33) ISW=2
44 NOPT=ISW
45 RAN=RNDM(2)
46 TOF1=-25.*LOG(RAN)
47 TOF1=20.*TOF1
48 IF(ISW.EQ.1) GOTO 20
49 PCM=0.02
50 CALL GRNDM(RNDM,2)
51 PHI=2.*PI*RNDM(1)
52 COST=-1.+2.*RNDM(2)
53 SINT=SQRT(ABS(1.-COST*COST))
54 PV(1,2)=PCM*SINT*COS(PHI)
55 PV(2,2)=PCM*SINT*SIN(PHI)
56 PV(3,2)=PCM*COST
57 PV(4,2)=PCM
58 PV(5,2)=0.
59 PV(7,2)=TOF+TOF1
60 PV(9,2)=0.
61 PV(10,2)=0.
62 PV(6,2)=0.
63 PV(8,2)=1.
64 GOTO 21
65 20 PV(1,2)=PV(1,1)
66 PV(2,2)=PV(2,1)
67 PV(3,2)=PV(3,1)
68 PV(4,2)=PV(4,1)
69 PV(5,2)=PV(5,1)
70 PV(6,2)=0.
71 PV(7,2)=TOF+TOF1
72 PV(8,2)=8.
73 PV(9,2)=0.
74 PV(10,2)=0.
75 21 INTCT=INTCT+1.
76 CALL SETCUR(2)
77 NTK=NTK+1
78 IF(NPRT(3))
79 *WRITE(NEWBCD,1002) XEND,YEND,ZEND,P,NCH
801002 FORMAT(1H0,'PION ABSORBTION POSITION',3(2X,F8.2),2X,
81 * 'PI0/GAMMA MOMENTUM,CHARGE',2X,F8.4,2X,F4.1)
82 GO TO 9999
83C**
84C** STAR PRODUCTION FOR PION ABSORPTION IN HEAVY ELEMENTS
85C**
86 30 ENP(1)=0.0135
87 ENP(3)=0.0058
88 NT=1
89 TEX=ENP(1)
90 BLACK=0.5*LOG(ATNO2)
91 CALL POISSO(BLACK,NBL)
92 IF(NBL.LE.0) NBL=1
93 IF(NPRT(3))
94 *WRITE(NEWBCD,3003) NBL,TEX
95 IF(NT+NBL.GT.MXGKPV-2) NBL=MXGKPV-2-NT
96 EKIN=TEX/NBL
97 EKIN2=0.
98 DO 31 I=1,NBL
99 IF(NT.EQ.MXGKPV-2) GOTO 31
100 CALL GRNDM(RNDM,4)
101 RAN2=RNDM(1)
102 EKIN1=-EKIN*LOG(RAN2)
103 EKIN2=EKIN2+EKIN1
104 IPA1=16
105 PNRAT=1.-ZNO2/ATNO2
106 IF(RNDM(2).GT.PNRAT) IPA1=14
107 NT=NT+1
108 COST=-1.+RNDM(3)*2.
109 SINT=SQRT(ABS(1.-COST*COST))
110 PHI=TWPI*RNDM(4)
111 IPA(NT)=-IPA1
112 PV(5,NT)=ABS(RMASS(IPA1))
113 PV(6,NT)=RCHARG(IPA1)
114 PV(7,NT)=2.
115 PV(4,NT)=EKIN1+PV(5,NT)
116 PP=SQRT(ABS(PV(4,NT)**2-PV(5,NT)**2))
117 PV(1,NT)=PP*SINT*SIN(PHI)
118 PV(2,NT)=PP*SINT*COS(PHI)
119 PV(3,NT)=PP*COST
120 IF(EKIN2.GT.TEX) GOTO 33
121 31 CONTINUE
122 33 TEX=ENP(3)
123 BLACK=0.50*LOG(ATNO2)
124 CALL POISSO(BLACK,NBL)
125 IF(NT+NBL.GT.MXGKPV-2) NBL=MXGKPV-2-NT
126 IF(NBL.LE.0) NBL=1
127 EKIN=TEX/NBL
128 EKIN2=0.
129 IF(NPRT(3))
130 *WRITE(NEWBCD,3004) NBL,TEX
131 DO 32 I=1,NBL
132 IF(NT.EQ.MXGKPV-2) GOTO 32
133 CALL GRNDM(RNDM,4)
134 RAN2=RNDM(1)
135 EKIN1=-EKIN*LOG(RAN2)
136 EKIN2=EKIN2+EKIN1
137 NT=NT+1
138 COST=-1.+RNDM(2)*2.
139 SINT=SQRT(ABS(1.-COST*COST))
140 PHI=TWPI*RNDM(3)
141 RAN=RNDM(4)
142 IPA(NT)=-30
143 IF(RAN.GT.0.60) IPA(NT)=-31
144 IF(RAN.GT.0.90) IPA(NT)=-32
145 INVE=ABS(IPA(NT))
146 PV(5,NT)=RMASS(INVE)
147 PV(6,NT)=RCHARG(INVE)
148 PV(7,NT)=2.
149 PV(4,NT)=PV(5,NT)+EKIN1
150 PP=SQRT(ABS(PV(4,NT)**2-PV(5,NT)**2))
151 PV(1,NT)=PP*SINT*SIN(PHI)
152 PV(2,NT)=PP*SINT*COS(PHI)
153 PV(3,NT)=PP*COST
154 IF(EKIN2.GT.TEX) GOTO 40
155 32 CONTINUE
156C**
157C** STORE ON EVENT COMMON
158C**
159 40 CALL GRNDM(RNDM,1)
160 RAN=RNDM(1)
161 TOF1=-25.*LOG(RAN)
162 TOF1=20.*TOF1
163 DO 41 I=2,NT
164 IF(PV(7,I).LT.0.) PV(5,I)=-PV(5,I)
165 PV(7,I)=TOF+TOF1
166 PV(8,I)=ABS(IPA(I))
167 PV(9,I)=0.
168 41 PV(10,I)=0.
169 INTCT=INTCT+1.
170 CALL SETCUR(2)
171 NTK=NTK+1
172 IF(NT.EQ.2) GO TO 9999
173 DO 50 I=3,NT
174 IF(NTOT.LT.NSIZE/12) GOTO 43
175 GO TO 9999
176 43 CALL SETTRK(I)
177 50 CONTINUE
178C
179 3003 FORMAT(1H ,I3,' BLACK TRACK PARTICLES PRODUCED WITH TOTAL KINETIC
180 * ENERGY OF ',F8.3,' GEV')
181 3004 FORMAT(1H ,I5,' HEAVY FRAGMENTS WITH TOTAL ENERGY OF',F8.4,' GEV')
182C
183 9999 CONTINUE
184 END