source: trunk/MagicSoft/Simulation/Corsika/Mmcs/nsd.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.6 KB
Line 
1 SUBROUTINE NSD
2
3C-----------------------------------------------------------------------
4C N(ON) S(INGLE) D(IFFRACTION CASE)
5C
6C SETS PARAMETERS FOR HDPM IN CASE OF NON-SINGLE-DIFFRACTION EVENT
7C THIS SUBROUTINE IS CALLED FROM HDPM
8C-----------------------------------------------------------------------
9
10 IMPLICIT DOUBLE PRECISION (A-H,O-Z)
11*KEEP,INTER.
12 COMMON /INTER/ AVCH,AVCH3,DC0,DLOG,DMLOG,ECMDIF,ECMDPM,ELAB,
13 * FNEUT,FNEUT2,GNU,PLAB,POSC2,POSC3,POSN2,POSN3,
14 * RC3TO2,S,SEUGF,SEUGP,SLOG,SLOGSQ,SMLOG,
15 * WIDC2,WIDC3,WIDN2,WIDN3,YCM,YY0,ZN,
16 * IDIF,ITAR
17 DOUBLE PRECISION AVCH,AVCH3,DC0,DLOG,DMLOG,ECMDIF,ECMDPM,ELAB,
18 * FNEUT,FNEUT2,GNU,PLAB,POSC2,POSC3,POSN2,POSN3,
19 * RC3TO2,S,SEUGF,SEUGP,SLOG,SLOGSQ,SMLOG,
20 * WIDC2,WIDC3,WIDN2,WIDN3,YCM,YY0,ZN
21 INTEGER IDIF,ITAR
22*KEEP,RUNPAR.
23 COMMON /RUNPAR/ FIXHEI,THICK0,HILOECM,HILOELB,
24 * STEPFC,NRRUN,NSHOW,PATAPE,MONIIN,
25 * MONIOU,MDEBUG,NUCNUC,
26 * CETAPE,
27 * SHOWNO,ISHW,NOPART,NRECS,NBLKS,MAXPRT,NDEBDL,
28 * N1STTR,MDBASE,
29 * DEBDEL,DEBUG,FDECAY,FEGS,FIRSTI,FIXINC,FIXTAR,
30 * FIX1I,FMUADD,FNKG,FPRINT,FDBASE
31 * ,GHEISH,GHESIG
32 COMMON /RUNPAC/ DSN,HOST,USER
33 DOUBLE PRECISION FIXHEI,THICK0,HILOECM,HILOELB
34 REAL STEPFC
35 INTEGER NRRUN,NSHOW,PATAPE,MONIIN,MONIOU,MDEBUG,NUCNUC,
36 * SHOWNO,ISHW,NOPART,NRECS,NBLKS,MAXPRT,NDEBDL,
37 * N1STTR,MDBASE
38 INTEGER CETAPE
39 CHARACTER*79 DSN
40 CHARACTER*20 HOST,USER
41
42 LOGICAL DEBDEL,DEBUG,FDECAY,FEGS,FIRSTI,FIXINC,FIXTAR,
43 * FIX1I,FMUADD,FNKG,FPRINT,FDBASE
44 * ,GHEISH,GHESIG
45*KEND.
46
47C-----------------------------------------------------------------------
48
49 IF ( DEBUG ) WRITE(MDEBUG,*) 'NSD :'
50
51C CENTRAL RAPIDITY DENSITY ( RHO ) FOR NSD REACTION
52C PARAMETRISATION SEE CAPDEVIELLE,J.PHYS.G:NUCL.PHYS.16(1990)1539 EQ.7
53 IF ( ECMDPM .LE. 680.D0 ) THEN
54 DC0 = 0.82D0 * (S**0.107D0)
55 ELSE
56 DC0 = 0.64D0 * (S**0.126D0)
57 ENDIF
58C THERE ARE 3 ENERGY DEPENDENT FORMULAS FOR AVERAGE CHARGED
59C MULTIPLICITY ( AVCH0 );
60C PARAMETRISATIONS SEE CAPDEVIELLE,J.PHYS.G:NUCL.PHYS.16(1990)1539 EQ.8
61 IF ( ECMDPM .LE. 187.5D0 ) THEN
62 AVCH0 = 0.57D0 + 0.584D0 * SLOG + 0.127D0 * SLOGSQ
63 ELSEIF ( ECMDPM .LT. 945.5D0 ) THEN
64 AVCH0 = -6.55D0 + 6.89D0 * S**0.131D0
65 ELSE
66 AVCH0 = 3.4D0 * S**0.17D0
67 ENDIF
68C MINIMUM AVERAGE CHARGED MULTIPLICITY IS 1
69 AVCH0 = MAX( 1.D0, AVCH0 )
70C EXCESS OF CHARGED PARTICLES WHICH COME FROM AIR TARGET
71 IF ( ECMDPM .LE. 137.D0 ) THEN
72 AVCH3 = 0.57D0 * AVCH0 * (GNU - 1.D0)
73 ELSE
74 AVCH3 = 0.5D0 * AVCH0 * (GNU - 1.D0)
75 ENDIF
76C AVERAGE NUMBER OF ALL CHARGED
77 AVCH = AVCH0 + AVCH3
78C THE FOLOWING PROCEDURE IS TO PRODUCE PHOTONS FROM UNKNOWN NEUTRAL
79C DECAYS FOLLOWING CORRELATION WITH CHARGED PARTICLES BASED ON PHOTON
80C EXCESS AT COLLIDER EXPERIMENTS. SEUGP IS <N_PHOTON>
81C PARAMETRISATION OF UA5: ANSORGE ET AL., Z.PHYS.C43 (1989) 75
82 IF ( ECMDPM .LE. 103.D0 ) THEN
83 SEUGP = -1.27D0 + 0.52D0 * SLOG + 0.148D0 * SLOGSQ
84 ELSE
85C PROBLEM OF THE RISE OF THE UNKNOWN ETA PRODUCTION CROSS SECTION
86C IS SOLVED WITH THOUW'S PARAMETRISATION OF UA5 DATA:
87 SEUGP = -18.7D0 + 11.55D0 * S**0.1195D0
88 ENDIF
89 SEUGP = MAX( 0.5D0, SEUGP )
90 IF ( DEBUG ) WRITE(MDEBUG,100)
91 * SNGL(DC0),SNGL(AVCH0),SNGL(AVCH3),SNGL(AVCH),SNGL(SEUGP)
92 100 FORMAT(' NSD : DC0,AVCH0,AVCH3,AVCH,SEUGP=',5F12.7)
93
94C CENTER OF GAUSSIAN FOR CHARGED SECONDARIES 1ST AND 2ND STRING
95C NEEDED FOR SOME CALCULATION ; FINAL POSITION CALCULATED LATER
96 POSC2 = 0.146D0 * SMLOG + 0.072D0
97C WIDTH OF GAUSSIAN FOR CHARGED SECONDARIES 1ST AND 2ND STRING
98 WIDC2 = 0.12D0 * SMLOG + 0.18D0
99 IF ( GNU .LE. 1.D0 ) THEN
100 POSC3 = 0.D0
101 WIDC3 = 1.D0
102 ELSE
103C CENTER OF GAUSSIAN 3RD STRING (TARGET CONTRIB. FOR PROJECTILE-AIR)
104 POSC3 = 3.D0 - 2.575D0 * EXP( -0.081756452D0 * GNU )
105C WIDTH OF GAUSSIAN FOR 3RD STRING
106 WIDC3 = 1.2338466D0 + 0.078969916D0 * LOG(GNU)
107 ENDIF
108 IF ( DEBUG ) WRITE(MDEBUG,110)
109 * SNGL(POSC2),SNGL(WIDC2),SNGL(POSC3),SNGL(WIDC3)
110 110 FORMAT(' NSD : POSC2,WIDC2,POSC3,WIDC3=',4F12.7)
111
112 RETURN
113 END
Note: See TracBrowser for help on using the repository browser.