source: trunk/MagicSoft/Simulation/Corsika/Mmcs/utqsea.f

Last change on this file was 286, checked in by harald, 25 years ago
This is the start point for further developments of the Magic Monte Carlo Simulation written by Jose Carlos Gonzales. Now it is under control of one CVS repository for the whole collaboration. Everyone should use this CVS repository for further developments.
File size: 4.8 KB
Line 
1 SUBROUTINE UTQSEA(X1,X2,X3)
2
3C-----------------------------------------------------------------------
4C UT(ILITY ROUTINE) SEA (QUARK STRUCTURE FUNCTION)
5C
6C SEA QUARK STRUCTURE FUNCTION INTEGRAL
7C RETURNS INTEGRAL (XSE(1)->XSE(I)) OF FU(Z) DZ
8C
9C THIS SUBROUTINE IS CALLED FROM VENLNK
10C
11C DESIGN : D. HECK IK3 FZK KARLSRUHE
12C-----------------------------------------------------------------------
13
14*KEEP,RUNPAR.
15 COMMON /RUNPAR/ FIXHEI,THICK0,HILOECM,HILOELB,
16 * STEPFC,NRRUN,NSHOW,PATAPE,MONIIN,
17 * MONIOU,MDEBUG,NUCNUC,
18 * CETAPE,
19 * SHOWNO,ISHW,NOPART,NRECS,NBLKS,MAXPRT,NDEBDL,
20 * N1STTR,MDBASE,
21 * DEBDEL,DEBUG,FDECAY,FEGS,FIRSTI,FIXINC,FIXTAR,
22 * FIX1I,FMUADD,FNKG,FPRINT,FDBASE
23 * ,GHEISH,GHESIG
24 COMMON /RUNPAC/ DSN,HOST,USER
25 DOUBLE PRECISION FIXHEI,THICK0,HILOECM,HILOELB
26 REAL STEPFC
27 INTEGER NRRUN,NSHOW,PATAPE,MONIIN,MONIOU,MDEBUG,NUCNUC,
28 * SHOWNO,ISHW,NOPART,NRECS,NBLKS,MAXPRT,NDEBDL,
29 * N1STTR,MDBASE
30 INTEGER CETAPE
31 CHARACTER*79 DSN
32 CHARACTER*20 HOST,USER
33
34 LOGICAL DEBDEL,DEBUG,FDECAY,FEGS,FIRSTI,FIXINC,FIXTAR,
35 * FIX1I,FMUADD,FNKG,FPRINT,FDBASE
36 * ,GHEISH,GHESIG
37*KEND.
38
39 PARAMETER (NSTRU=2049)
40 COMMON /FILES/ IFCH,IFDT,IFHI,IFMT,IFOP
41 COMMON /PARO1/ AMPRIF,AMSIAC,BMAXIM,BMINIM,CORE,CUTMSQ,CUTMSS
42 * ,DELMSS,DELREM,FCTRMX,GAUMX,OVERLP,PAREA,PDIQUA
43 * ,PHARD,PSPINL,PSPINH,PISPN,PTF,PTH,PTMX,PTQ,PUD
44 * ,PVALEN,QSEPC,QSETC,QMUST,QVAPC,QVATC,RADIAC
45 * ,RADIAS,RSTRAS,SIGJ,SIGPPI,TAUMAX,TAUMIN
46 * ,TAUMX,TAUNLL,TENSN,THEMAS,WPROJ,WTARG,WTMINI
47 * ,WTSTEP,XCUT
48 * ,IAQU,IFRADE,IOJINT,IOPBRK,IOPENT,IOPENU
49 * ,IOPTF,IOPTQ,IRESCL,IWCENT,KENTRO,KO1KO2
50 * ,LABSYS,MAXRES,NCLEAN,NCOLMX,NDECAW,NEQMN,NEQMX
51 * ,NSTTAU,NTRYMX,NUMTAU
52 COMMON /PARO2/ AMPROJ,AMTARG,ANGMUE,ELEPTI,ELEPTO,ENGY
53 * ,PNLL,PNLLX,PROB(99),PROSEA,RHOPHI,TAUREA
54 * ,YHAHA,YMXIMI,YPJTL
55 * ,ICBAC(99,2),ICFOR(99,2),ICHOIC,ICLHIS,IDPM
56 * ,IDPROJ,IDTARG,IENTRO,IJPHIS,IMIHIS,IPAGI,ISH
57 * ,ISHEVT,ISHSUB,ISPALL,ISPHIS,ISTMAX,ISUP,IVI
58 * ,JPSI,JPSIFI,KUTDIQ,LAPROJ,LATARG,MAPROJ,MATARG
59 * ,MODSHO,NDECAX,NDECAY,NEVENT
60 COMMON /STRU2/ DELTA0,DELTA1,QSEH(NSTRU),QSEPI(NSTRU)
61 * ,QVAH(NSTRU),QVAPI(NSTRU),XSE(NSTRU),XVA(NSTRU)
62C-----------------------------------------------------------------------
63
64 IF ( DEBUG ) WRITE(MDEBUG,*) 'UTQSEA:'
65
66 X0 = 0.
67 N = NSTRU
68 IF ( ISH .GE. 90 ) THEN
69 IF ( X1.LT.X0 .OR. X2.LT.X1 .OR. X3.LT.X2 ) THEN
70 CALL UTMSG('UTQSEA')
71 WRITE(IFCH,*)' XI=',X0,X1,X2,X3
72 CALL UTMSGF
73 ENDIF
74 ENDIF
75 I1 = N/3
76 I2 = 2*N/3
77 FAC1 = (X1-X0)/FLOAT(I1-1)
78 DO 11 I=1,I1-1
79 XSE(I)=(I-1.)*FAC1+X0
80 11 CONTINUE
81 FAC2 = (X2-X1)/FLOAT(I2-I1)
82 DO 12 I=I1,I2-1
83 XSE(I)=FLOAT(I-I1)*FAC2 +X1
84 12 CONTINUE
85 FAC3 = (X3-X2)/FLOAT(N-I2)
86 DO 13 I=I2,N
87 XSE(I)=MIN( FLOAT(I-I2)*FAC3 +X2, 0.99999999 )
88 13 CONTINUE
89
90 XCUT2 = XCUT**2
91 XCUT4 = XCUT2**2
92 XCUT6 = XCUT2*XCUT4
93 CUTLOG = LOG(XCUT)
94C COEFFICIENTS FOR HADRONIC SEA QUARK STRUCTURE FUNCTION
95 AH0 = -8. + 37.333333*XCUT2 - 29.866667*XCUT4 + 3.65714286*XCUT6
96 AH1 = 14. - 26.25*XCUT2 + 8.75*XCUT4 - 0.2734375*XCUT6
97 AH2 = -18.666667 + 14.933333*XCUT2 - 1.82857143*XCUT4
98 AH3 = 17.5 - 5.8333333*XCUT2 + 0.182291667*XCUT4
99 AH4 = -11.2 + 1.37142857*XCUT2
100 AH5 = 4.6666667 - 0.14583333*XCUT2
101 AH6 = -1.14285714
102 AH7 = 0.125
103 QAH = 1. - AH1 * XCUT2
104 AHCUT = AH0 * XCUT
105C COEFFICIENTS FOR PIONIC SEA QUARK STRUCTURE FUNCTION
106 API0 = -5. + 6.6666667*XCUT2 - 0.53333333*XCUT4
107 API1 = 5. - 1.875*XCUT2
108 API2 = -3.3333333 + 0.26666667*XCUT2
109 API3 = 1.25
110 API4 = -0.2
111 QAPI = 1. - API1 * XCUT2
112 APICUT = API0 * XCUT
113
114 QSEH(1) = 0.
115 QSEPI(1) = 0.
116 DO 2 I=2,N
117 Z = XSE(I)
118 ROOT = SQRT(Z**2 + XCUT2)
119 ROOTLG = LOG( Z + ROOT ) - CUTLOG
120 QSEH(I) = 1.265 * ( QAH * ROOTLG - AHCUT
121 * + ROOT * (AH0 + Z*(AH1 + Z*(AH2 + Z*(AH3
122 * + Z*(AH4 + Z*(AH5 + Z*(AH6 + Z*AH7))))))) )
123 QSEPI(I) = 0.9 * ( QAPI * ROOTLG - APICUT
124 * + ROOT * (API0+Z*(API1+Z*(API2+Z*(API3+Z*API4)))) )
125 2 CONTINUE
126
127 RETURN
128 END
Note: See TracBrowser for help on using the repository browser.