File indexing completed on 2025-08-05 08:15:42
0001
0002
0003
0004
0005
0006
0007 CHARACTER FRAME*8,PROJ*8,TARG*8
0008
0009 COMMON/HIPARNT/HIPR1(100),IHPR2(50),HINT1(100),IHNT2(50)
0010 SAVE /HIPARNT/
0011
0012 COMMON/HIMAIN1/NATT,EATT,JATT,NT,NP,N0,N01,N10,N11
0013 SAVE /HIMAIN1/
0014
0015 COMMON/HIMAIN2/KATT(130000,4),PATT(130000,4)
0016 SAVE /HIMAIN2/
0017
0018 DIMENSION GB(101), XB(101), DNDP(50)
0019
0020 COMMON/RANSEED/NSEED
0021 SAVE /RANSEED/
0022
0023 NSEED=0
0024
0025 do i=1,50
0026 DNDP(i)=0.
0027 enddo
0028
0029 FRAME='CMS'
0030
0031 write(6,*)'===================================================='
0032 write(6,*)' Calculation of transverse momentum distribution '
0033 write(6,*)' of charged pions in minimum bias '
0034 write(6,*)' hh-, hA- and AA-collisions '
0035 write(6,*)' Calculation will be performed in CM System '
0036 write(6,*)'===================================================='
0037
0038 write(6,*)
0039 write(6,*)'Enter the energy per NN-collision (GeV)'
0040 read(5,*) EFRM
0041
0042 write(6,*)
0043 write(6,*)'Enter a type of the "projectile" particle'
0044 write(6,*)
0045 write(6,*)' P proton, PBAR anti-proton,'
0046 write(6,*)' N neutron, NBAR anti-neutron,'
0047 write(6,*)' PI+ - positive pion, PI- negative pion,'
0048 write(6,*)' K+ positive kaon, K- negative kaon'
0049 write(6,*)
0050 write(6,*)' A - nucleus --------------------------'
0051
0052 read(5,1) PROJ
0053 1 format(A8)
0054
0055 if(PROJ.ne.'A') then
0056 IAP=1
0057 if(PROJ.eq.'P' ) IZP= 1
0058 if(PROJ.eq.'PBAR') IZP=-1
0059 if(PROJ.eq.'N' ) IZP= 0
0060 if(PROJ.eq.'NBAR') IZP= 0
0061 if(PROJ.eq.'PI+' ) IZP= 1
0062 if(PROJ.eq.'PI-' ) IZP=-1
0063 if(PROJ.eq.'K+' ) IZP= 1
0064 if(PROJ.eq.'K-' ) IZP=-1
0065 else
0066 write(6,*)
0067 write(6,*)'Enter mass number and charge of the proj. nucleus'
0068 read(5,*) IAP, IZP
0069 endif
0070
0071 write(6,*)
0072 write(6,*)'Enter a type of the "target" particle (same notations)'
0073 read(5,1) TARG
0074
0075 if(TARG.ne.'A') then
0076 IAT=1
0077 if(TARG.eq.'P' ) IZT= 1
0078 if(TARG.eq.'PBAR') IZT=-1
0079 if(TARG.eq.'N' ) IZT= 0
0080 if(TARG.eq.'NBAR') IZT= 0
0081 if(TARG.eq.'PI+' ) IZT= 1
0082 if(TARG.eq.'PI-' ) IZT=-1
0083 if(TARG.eq.'K+' ) IZT= 1
0084 if(TARG.eq.'K-' ) IZT=-1
0085 else
0086 write(6,*)
0087 write(6,*)'Enter mass number and charge of the target nucleus'
0088 read(5,*) IAT, IZT
0089 endif
0090
0091 write(6,*)
0092 write(6,*)'Enter number of events per each value of impact',
0093 ,' parameter (e.a. 10)'
0094
0095 read(5,*) N_EVENT
0096
0097
0098 CALL HIJSET(EFRM,FRAME,PROJ,TARG,IAP,IZP,IAT,IZT)
0099
0100 write(6,*)' Simulation of interactions with'
0101 write(6,*)
0102 write(6,*)' Proj = ',PROJ,' and Targ = ',TARG
0103 write(6,*)' IAP =',IAP ,' IAT =',IAT
0104 write(6,*)' IZP =',IZP ,' IZT =',IZT
0105 write(6,*)
0106 write(6,*)' Reference frame - ',FRAME
0107 write(6,*)' ENERGY ',EFRM,' GeV'
0108 write(6,*)' Number of generated events per B interval -',N_event
0109 write(6,*)
0110
0111
0112
0113 BMIN=0.0
0114 BMAX=HIPR1(34)+HIPR1(35)
0115
0116
0117
0118 DIP=(BMAX-BMIN)/100.0
0119 GBTOT=0.0
0120 DO 100 I=1,101
0121 XB(I)=BMIN+(I-1)*DIP
0122 OV=PROFILE(XB(I))
0123 GB(I)=XB(I)*(1.0-exp(-HINT1(12)*OV))
0124 GBTOT=GBTOT+GB(I)
0125 100 CONTINUE
0126 write(6,*)'Inelastic X-section (mb) ',GBTOT*DIP*10.*6.28
0127
0128 PAUSE
0129
0130
0131 NONT=0
0132 GNORM=GBTOT
0133
0134 DO 300 IB=1,100
0135 B1=XB(iB)
0136 B2=XB(IB+1)
0137
0138
0139
0140 W_GB=(GB(IB)+GB(IB+1))/2.0/GBTOT
0141
0142 DO 200 IE=1,N_EVENT
0143 CALL HIJING(FRAME,B1,B2)
0144
0145
0146
0147
0148 IF(NP+NT .EQ. 0) THEN
0149 NONT=NONT+1
0150 GNORM=GNORM-GB(IB)/FLOAT(N_EVENT)
0151 GO TO 200
0152 ENDIF
0153
0154
0155
0156 DO 150 K=1,NATT
0157
0158 IF(ABS(KATT(K,1)) .NE. 211) GO TO 150
0159
0160
0161 PTR=SQRT(PATT(K,1)**2+PATT(K,2)**2)
0162
0163
0164
0165
0166 IF(PTR .GE. 10.0) GO TO 150
0167 IPT=1+PTR/0.2
0168 DNDP(IPT)=DNDP(IPT)+W_GB/FLOAT(N_EVENT)/0.2
0169 150 CONTINUE
0170 200 CONTINUE
0171 300 CONTINUE
0172
0173
0174
0175
0176 IF(NONT.NE.0) THEN
0177 DO 400 I=1,50
0178 DNDP(I)=DNDP(I)*GBTOT/GNORM
0179 if(DNDP(I).ne.0.) write(6,350)0.2*(i-1),DNDP(I)
0180 350 format(1x,f5.1,2x,e11.4)
0181 400 CONTINUE
0182 ENDIF
0183
0184 STOP
0185 END
0186
0187 FUNCTION RAN(NSEED)
0188 RAN=RLU(NSEED)
0189 RETURN
0190 END