10 *=== Opphcm ===========================================================*
12 *----------------------------------------------------------------------*
14 * OPtical PHoton CoMmon: *
16 * Created on 19 september 1997 by Alfredo Ferrari & Paola Sala *
19 * Last change on 11-jan-99 by Alfredo Ferrari *
21 * Opphpr (ip,im) = ip_th optical property parameter of the im_th *
22 * material (non metal) *
24 * 1: refraction index *
25 * 2: absorption coeff. (cm^-1) *
26 * 3: diffusion coeff. (cm^-1) *
27 * 4: refraction index 1st derivative *
28 * 5: absorption 1st derivative *
29 * 6: diffusion 1st derivative *
30 * 7: refraction index 2nd derivative *
31 * 8: absorption 2nd derivative *
32 * 9: diffusion 2nd derivative *
33 * 10: refraction index 3rd derivative *
34 * 11: absorption 3rd derivative *
35 * 12: diffusion 3rd derivative *
38 * 1: refraction index (not used) *
39 * 2: absorption coeff. (cm^-1) (not used) *
40 * 3: 1 - reflectivity index *
41 * 7: 1 - reflectivity index 1st derivative *
42 * 9: 1 - reflectivity index 2nd derivative *
43 * 12: 1 - reflectivity index 3rd derivative *
44 * Emncer (im) = minimum energy for Cerenkov photon production *
46 * Emxcer (im) = maximum energy for Cerenkov photon production *
48 * Rmxcer (im) = maximum refractive index in the energy range *
49 * of interest for Cerenkov photon production *
51 * Escint (je,im) = energy for je_th scintillation photon produc- *
52 * tion for im_th medium *
53 * Fscint (je,im) = fraction of energy emitted as the je_th scin- *
54 * tillation photon energy for im_th medium *
55 * Sscint (je,im) = sensitivity for the je_th scintillation photon*
56 * energy for im_th medium *
57 * Tscint (je,im) = time constant of je_th scintillation photon *
58 * production for im_th medium *
59 * Emntrd (im) = minimum energy for transition radiation photon*
60 * production for im_th medium *
61 * Emxtrd (im) = maximum energy for transition radiation photon*
62 * production for im_th medium *
63 * Wvmnop (im) = minimum wavelength for opt. photon transport *
64 * for im_th medium (default: 250 nm) *
65 * Wvcnop (im) = central wavelength for opt. photon transport *
66 * for im_th medium (default: 589 nm, Na D) *
67 * Wvmxop (im) = maximum wavelength for opt. photon transport *
68 * for im_th medium (default: 600 nm) *
69 * Ommnop (im) = minimum 2pi x freq. for opt. photon transport *
71 * Omcnop (im) = central 2pi x freq. for opt. photon transport *
73 * Ommxop (im) = maximum 2pi x freq. for opt. photon transport *
75 * Wvmnsn = minimum wavelength for opt. photon sensitivity*
77 * Wvcnsn = central wavelength for opt. photon sensitivity*
78 * (default: 589 nm, Na D) *
79 * Wvmxsn = maximum wavelength for opt. photon sensitivity*
80 * for im_th medium (default: 6000 nm) *
81 * Ommnsn = minimum 2pi x freq. for opt. photon sensiti- *
83 * Omcnsn = central 2pi x freq. for opt. photon sensiti- *
85 * Ommxsn = maximum 2pi x freq. for opt. photon sensiti- *
87 * Opsnmx = maximum of optical photon sensitivity *
88 * Rghnss (ib) = Roughness parameter for ib_th material-to-ma- *
89 * terial boundary ib_th *
90 * M1rghn (ib) = 1st material of ib_th material-to-material *
92 * M2rghn (ib) = 2nd material of ib_th material-to-material *
94 * M1rgbx (ix) = 1st region of ix_th region-to-region special *
96 * M2rgbx (ix) = 2nd region of ix_th region-to-region special *
98 * Lopprp (im) = logical flag for optical properties of im_th *
100 * Lopmtl (im) = logical flag whether the im_th optical mate- *
101 * rial is a metal or not *
102 * Lwvopp (im) = logical flag whether optical properties of *
103 * im_th material are expressed as a function of *
104 * wavelength (true) or 2pi x frequency (false). *
105 * By default it is true. *
106 * Lwvops = logical flag whether optical photon sensiti- *
107 * vities are expressed as a function of wave- *
108 * length (true) or 2pi x frequency (false). *
109 * By default it is true. *
110 * Lcrnkv (im) = logical flag for Cerenkov photon production *
111 * for im_th material *
112 * Lscntl (im) = logical flag for scintillation photon produ- *
113 * ction for im_th material *
114 * Ltscnt (je,im) = logical flag for time constant for je_th *
115 * scintill photon production in im_th medium *
116 * Ltrrad (im) = logical flag for transition radiation photon *
117 * production for im_th material *
118 * Lopphp (im) = logical flag for transition radiation photon *
119 * production for im_th material *
120 * Nxoppb = number of material boundaries for which the *
121 * roughness has been defined *
122 * Nxopbx = number of region boundaries for which the *
123 * special user routine ophbdx should be called *
125 *----------------------------------------------------------------------*
127 PARAMETER ( MXOPSN = 4 )
128 PARAMETER ( MXOPPR = 12 )
129 PARAMETER ( MXOPPB = 20 )
130 PARAMETER ( MXOPBX = 40 )
131 PARAMETER ( MXSCPH = 3 )
132 PARAMETER ( WVMNTR = 250.D-07 )
133 PARAMETER ( WVCNTR = 589.D-07 )
134 PARAMETER ( WVMXTR = 600.D-07 )
135 LOGICAL LOPPRP, LOPMTL, LWVOPP, LCRNKV, LTRRAD, LSCNTL, LOPPHP,
137 COMMON / OPPHCM / WVMNSN, WVCNSN, WVMXSN, OMMNSN, OMCNSN, OMMXSN,
138 & OPSNMX, OPSNPR (MXOPSN),OPPHPR (MXOPPR,MXXMDF),
139 & EMNCER (MXXMDF), EMXCER (MXXMDF), RMXCER (MXXMDF),
140 & EMNTRD (MXXMDF), EMXTRD (MXXMDF), WVMNOP (MXXMDF),
141 & WVMXOP (MXXMDF), WVCNOP (MXXMDF), OMMNOP (MXXMDF),
142 & OMMXOP (MXXMDF), OMCNOP (MXXMDF), RGHNSS (MXOPPB),
143 & ESCINT (MXSCPH,MXXMDF), FSCINT (MXSCPH,MXXMDF),
144 & SSCINT (MXSCPH,MXXMDF), TSCINT(MXSCPH,MXXMDF),
145 & M1RGHN (MXOPPB), M2RGHN (MXOPPB), M1RGBX (MXOPBX),
146 & M2RGBX (MXOPBX), LOPPRP (MXXMDF), LOPMTL (MXXMDF),
147 & LWVOPP (MXXMDF), LCRNKV (MXXMDF), LSCNTL (MXXMDF),
148 & LTRRAD (MXXMDF), LOPPHP (MXXMDF), LWVOPS, NXOPPB,
149 & NXOPBX, LTSCNT (MXSCPH,MXXMDF)
151 const Int_t mxopsn = 4;
152 const Int_t mxoppr = 12;
153 const Int_t mxoppb = 20;
154 const Int_t mxopbx = 40;
155 const Int_t mxscph = 3;
156 const Double_t wvmntr = 250.e-07;
157 const Double_t wvcntr = 589.e-07;
158 const Double_t wvmxtr = 600.e-07;
168 Double_t opsnpr [mxopsn];
169 Double_t opphpr [mxxmdf][mxoppr];
170 Double_t emncer [mxxmdf];
171 Double_t emxcer [mxxmdf];
172 Double_t rmxcer [mxxmdf];
173 Double_t emntrd [mxxmdf];
174 Double_t emxtrd [mxxmdf];
175 Double_t wvmnop [mxxmdf];
176 Double_t wvmxop [mxxmdf];
177 Double_t wvcnop [mxxmdf];
178 Double_t ommnop [mxxmdf];
179 Double_t ommxop [mxxmdf];
180 Double_t omcnop [mxxmdf];
181 Double_t rghnss [mxoppb];
182 Double_t escint [mxxmdf][mxscph];
183 Double_t fscint [mxxmdf][mxscph];
184 Double_t sscint [mxxmdf][mxscph];
185 Double_t tscint [mxxmdf][mxscph];
186 Int_t m1rghn [mxoppb];
187 Int_t m2rghn [mxoppb];
188 Int_t m1rgbx [mxopbx];
189 Int_t m2rgbx [mxopbx];
190 Int_t lopprp [mxxmdf];
191 Int_t lopmtl [mxxmdf];
192 Int_t lwvopp [mxxmdf];
193 Int_t lcrnkv [mxxmdf];
194 Int_t lscntl [mxxmdf];
195 Int_t ltrrad [mxxmdf];
196 Int_t lopphp [mxxmdf];
200 Int_t ltscnt [mxxmdf][mxscph];
202 #define OPPHCM COMMON_BLOCK(OPPHCM,opphcm)
203 COMMON_BLOCK_DEF(opphcmCommon,OPPHCM);