10 *=== dpdxcm ===========================================================*
12 *----------------------------------------------------------------------*
14 * Copyright (C) 1989-2006 by Alfredo Ferrari *
15 * All Rights Reserved. *
18 * Include file: dpdxcm (DP/DX CoMmon) *
20 * Created on 10 february 1991 by Alfredo Ferrari *
23 * Last change on 21-may-06 by Alfredo Ferrari *
25 * Included in the following routines: *
27 * blockmvax/bdtrns.f *
53 * kaskadmvax/hmsnsc.f *
54 * kaskadmvax/kashea.f *
55 * kaskadmvax/kaskad.f *
56 * kaskadmvax/mulhad.f *
57 * kaskadmvax/omegah.f *
58 * kaskadmvax/sgttot.f *
59 * kaskadmvax/stepop.f *
65 * Avionp (m) = average ionization potential (eV) of medium m *
66 * Ccster (m) = Sternheimer cbar parameter for medium m *
67 * X0ster (m) = Sternheimer x0 parameter for medium m *
68 * Xester (m) = Sternheimer x1 parameter for medium m *
69 * Amster (m) = Sternheimer m parameter for medium m *
70 * Aaster (m) = Sternheimer a parameter for medium m *
71 * D0ster (m) = Sternheimer delta0 parameter for medium m *
72 * Aviont (m) = auxiliary ionization potential of medium m *
73 * T0dpdx (m) = delta ray production threshold of medium m *
74 * (all particle but e+/e-) *
75 * Tedpdx (m) = delta ray production threshold of medium m *
76 * (electrons and positrons) *
77 * Gaspfl (m) = pressure (atm) if a gas *
78 * Pthrmx = maximum momentum of the tabulations *
79 * Anpicm (m) = average number of primary ionization per cm *
80 * for a mip for medium m (at NTP for a gas) *
81 * Frstip (m) = first ionization potential for medium m (GeV) *
82 * Faltmt (m) = density modifying factor for a possible alt- *
83 * ernate material for medium m *
84 * Maltmt (m) = alternate material for medium m *
85 * Msdpdx (m) = possible "special material" flag for medium m *
86 * 0: no special treatment *
87 * 1: implicit delta production down to Avionr *
88 * inside ..dedxf.. routines with recording *
89 * of the selected values activated *
90 *----------------------------------------------------------------------*
92 PARAMETER ( MNDPDX = 50 )
93 PARAMETER ( RMDPDX = 1.15D+00 )
94 PARAMETER ( DPDXR1 = 0.15D+00 )
95 PARAMETER ( DPDXR2 = 0.70D+00 )
96 PARAMETER ( ERDEDX = 0.15D+00 * 0.15D+00 )
97 PARAMETER ( MDPDXH = 4 )
98 * Toln10 = 2 x log (10)
99 PARAMETER ( TOLN10 = 4.605170185988091 D+00 )
101 LOGICAL LDELTA, LPDETB, LETFUN
102 COMMON / DPDXCM / P0DPDX (MPDPDX,MXXMDF), P1DPDX (MPDPDX,MXXMDF),
103 & TMDPDX (MXXMDF), T0DPDX (MXXMDF),
104 & TEDPDX (MXXMDF), D0DPDX (MXXMDF),
105 & AVIONP (MXXMDF), RHORFL (MXXMDF),
106 & GASPFL (MXXMDF), CCSTER (MXXMDF),
107 & AMSTER (MXXMDF), XOSTER (MXXMDF),
108 & XESTER (MXXMDF), AASTER (MXXMDF),
109 & D0STER (MXXMDF), AVIONT (MXXMDF),
110 & ETDPDX (MXXMDF), ALMASS (MPDPDX), PTHRMX,
111 & FRSTIP (MXXMDF), ANPICM (MXXMDF),
112 & FALTMT (MXXMDF), MALTMT (MXXMDF),
113 & MSDPDX (MXXMDF), NBDPDX (MXXMDF),
114 & KDPDXT (MPDPDX,MXXMDF),
115 & LDELTA (MXXMDF), LPDETB (MXXMDF),
116 & IJDPDX (-6:NALLWP), LETFUN
120 const Int_t mndpdx = 50;
121 const Double_t rmdpdx = 1.15e0;
122 const Double_t dpdxr1 = 0.15e0;
123 const Double_t dpdxr2 = 0.70e0;
124 const Double_t erdedx = 0.15e0 * 0.15e0;
125 const Int_t mdpdxh = 4;
128 Double_t p0dpdx [mxxmdf][mpdpdx];
129 Double_t p1dpdx [mxxmdf][mpdpdx];
130 Double_t tmdpdx [mxxmdf];
131 Double_t t0dpdx [mxxmdf];
132 Double_t tedpdx [mxxmdf];
133 Double_t d0dpdx [mxxmdf];
134 Double_t avionp [mxxmdf];
135 Double_t rhorfl [mxxmdf];
136 Double_t gaspfl [mxxmdf];
137 Double_t ccster [mxxmdf];
138 Double_t amster [mxxmdf];
139 Double_t xoster [mxxmdf];
140 Double_t xester [mxxmdf];
141 Double_t aaster [mxxmdf];
142 Double_t d0ster [mxxmdf];
143 Double_t aviont [mxxmdf];
144 Double_t etdpdx [mxxmdf];
145 Double_t almass [mpdpdx];
147 Double_t frstip [mxxmdf];
148 Double_t anpicm [mxxmdf];
149 Double_t faltmt [mxxmdf];
150 Int_t maltmt [mxxmdf];
151 Int_t msdpdx [mxxmdf];
152 Int_t nbdpdx [mxxmdf];
153 Int_t kdpdxt [mxxmdf][mpdpdx];
154 Int_t ldelta [mxxmdf];
155 Int_t lpdetb [mxxmdf];
156 Int_t ijdpdx [nallwp + 7];
159 #define DPDXCM COMMON_BLOCK(DPDXCM,dpdxcm)
160 COMMON_BLOCK_DEF(dpdxcmCommon, DPDXCM);