1 | SUBROUTINE FIRST_DEPTH_NU(Xprim) |
---|
2 | IMPLICIT NONE |
---|
3 | #include "event.inc" |
---|
4 | DOUBLE PRECISION A_LO(4,2),A_NLO(4,2),G_LO(4,2),G_NLO(4,2) |
---|
5 | DOUBLE PRECISION NA,Aair,CROSS_SECTION,Xprim |
---|
6 | INTEGER I,J |
---|
7 | DATA A_LO/ |
---|
8 | + 2.72D-3,1.44D-3,8.89D-3,3.95D-3, |
---|
9 | + 1.17D0, 1.16D0, 3.57D0, 2.85D0/ |
---|
10 | DATA A_NLO/ |
---|
11 | + 2.71D-3,1.52D-3,8.82D63,4.15D-3, |
---|
12 | + 2.06D0, 2.06D0, 6.50D0, 5.18D0/ |
---|
13 | DATA G_LO/ |
---|
14 | + 0.945,0.964,0.940,0.961, |
---|
15 | + 0.390,0.391,0.383,0.386/ |
---|
16 | DATA G_NLO/ |
---|
17 | + 0.945,0.963,0.941,0.960, |
---|
18 | + 0.360,0.360,0.349,0.353/ |
---|
19 | DATA NA/6.02D23/,Aair/14.483/ |
---|
20 | * |
---|
21 | IF(TYPER.NE.1001.AND.TYPER.NE.1002) THEN |
---|
22 | WRITE(6,*) 'FIRST_DEPTH_NU: UNKNOWN NEUTRINO TYPE. STOP' |
---|
23 | STOP |
---|
24 | ENDIF |
---|
25 | * |
---|
26 | IF(INTTYPE.NE.1.AND.INTTYPE.NE.2) THEN |
---|
27 | WRITE(6,*) 'FIRST_DEPTH_NU: UNKNOWN NEUTRINO INTERACTION |
---|
28 | + TYPE. STOP', INTTYPE |
---|
29 | STOP |
---|
30 | ENDIF |
---|
31 | * |
---|
32 | IF(QCDCORR.NE.1.AND.QCDCORR.NE.2) THEN |
---|
33 | WRITE(6,*) 'FIRST_DEPTH_NU: UNKNOWN QCD CORRECTION. STOP' |
---|
34 | STOP |
---|
35 | ENDIF |
---|
36 | * |
---|
37 | IF(TYPER.EQ.1001) THEN |
---|
38 | IF(INTTYPE.EQ.2) I = 1 |
---|
39 | IF(INTTYPE.EQ.1) I = 3 |
---|
40 | ELSEIF(TYPER.EQ.1002) THEN |
---|
41 | IF(INTTYPE.EQ.2) I = 2 |
---|
42 | IF(INTTYPE.EQ.1) I = 4 |
---|
43 | ENDIF |
---|
44 | * ... CROSS SECTION IN CM2 ... |
---|
45 | IF(EINT.LT.1.e13) J = 1 |
---|
46 | IF(EINT.GE.1.e13) J = 2 |
---|
47 | IF(QCDCORR.EQ.1.) THEN |
---|
48 | CROSS_SECTION = 1.D-36*A_LO(I,J)*(DBLE(EINT)/1.D9)**G_LO(I,J) |
---|
49 | ELSEIF(QCDCORR.EQ.2.) THEN |
---|
50 | CROSS_SECTION = 1.D-36*A_NLO(I,J)*(DBLE(EINT)/1.D9)**G_NLO(I,J) |
---|
51 | ENDIF |
---|
52 | * |
---|
53 | Xprim = Aair/CROSS_SECTION/NA |
---|
54 | END |
---|