Titles: MEDA ============= Contact: S. Biller, Oxford. Revision History:- ================ 2.04 N. West Convert to sparse table of physical media. 2.05 N. West Document tidy-up. 2_07 Mike Lay Changes to the way attenuation is handled 2_08 Mike Lay Complete Overhall to include specular/diffuse reflections. 2.09 N. West Correct mistake in the HTML file. 3.00 M. Thorman KMEDA_NW_ENT now included at start of bank. Added KMEDA_RAYL_SCF word. 3.02 M. Thorman Added diffuse transmission probability and scaling factor for diffuse scattering in air. 5.00 N. Tagg Add addivives. (Scintillator and WLS) 5.03 J. Wilson Added scintillation flag Titles Files ------------ media.dat Verification ------------ Description ----------- This bank contains a table of physical media optical properties data. See media.html for more information. The KMEDA_* bank addresses used below are defined in the file:- snoman/n_nn/code/media_data.inc Some symbolic commands are available. Data Words ---------- I = integer, F = floating point, H = hollerith 4 char Fixed length Database Header. See DBHDR KMEDA... +1 I _NW_ENT Number of words per entry The following structure is repeated for each type of media. The address mnemonics are relative to the start of the entry e.g.:- LEMEDA = MEDP_MEDA( I_PHYS_MEDIA_CODE ) icons(LEMEDA + KMEDA_ISO_COMP) is the isothermal compressibilty i+... i = 1, 84, 167, 250, 333, 416 , ... +1 H _NAME Name 5 word array (20 characters). +6 I _MEDP_CODE Physical media code. See media.html and id_media.html +7 I _OPTI_FLAG Optical media flag +8 F _REFX_MEAN Mean refractive index. +9 F ..._IMG Mean imaginary refractive index +10 F _REFX_POLY Refractive index polynomial array. KMEDA_NW_REFX_POLY words See note 2. KMEDA_NW_REFX_POLY = 10. +20 F _REFX_POLY Imaginary Refractive index polynomial array. ..._IMG KMEDA_NW_REFX_POLY words. See the routine REFIDX. KMEDA_NW_REFX_POLY = 10. +30 F _ATTN_POLY Attenuation array. First word is scale factor, second word is number of data points, then the data points. KMEDA_NW_ATTN_POLY words. See the routine ABSINT. +62 F _RAYL_SCF Rayleigh scattering scaling factor (see note 1.) +63 F _ISO_COMP Isothermal compressibility (units N^-1 m^2). +64 I _SPEC_FLAG Specular reflection flag (see note 3) +65 F _SPEC_POLY Specular Reflection data +74 I _DIFF_FLAG Diffuse reflection/transmission flag (see note 3) +75 F _DIFF_POLY Data for diffuse reflection/transmission in water. +82 I _SCINT Scintillation flag 1 = 0, 0 = off +83 F _DIFF_SCF_AIR Scaling factor for diffuse reflection/trans. in air. Notes ----- 1) The Rayleigh scattering scaling factor would usually be set to a value greater than 1.0 to simulate scattering above that of the Rayleigh limit (due to impurities etc.) as long as it follows a Rayleigh Energy^4 law. 2) The refractive index is calculated from the formula: n = c1 + c2*exp( c3*E ) where c1,c2,c3 are the values from _REFX_POLY and E is the photon energy in eV. See REFIDX for more details. 3) Diffuse Transmission and Reflection ----------------------------------- The words in _DIFF_POLY hold data for diffuse reflection and transmission from surfaces in water. By default only the first two words are used:- _DIFF_POLY reflection probability _DIFF_POLY+1 transmission probability The outgoing direction is isotropic in a backward or forward hemisphere respectively. In air, the probabilities are scaled by the scaling factor in word _DIFF_SCF_AIR. There are special cases such as Nickel where _DIFF_POLY holds data giving the wavelength dependence of the reflection probability. This is dealt with in diff_refl_prob.for. Also see the entries in media.dat for more information. Specular Reflection and Refraction1.9 ---------------------------------- For optical media, the probability of specular reflection and refraction is calculated according to Fresnel coefficients. If any diffuse reflection or transmission is switched on then the specular values are renormalized:- R = R*(1-DR-DT) T = T*(1-DR-DT) ( R=spec refl. T=refraction DR=diffuse refl. DT=diffuse trans. ) The calculated probabilities can be overridden with fixed user values by setting _SPEC_FLAG and then filling the _SPEC_POLY array:- _SPEC_POLY reflection probability _SPEC_POLY+1 transmission probability These values are scaled as above if diffuse scattering is also specified. For non-optical media (eg Stainless Steel), the _SPEC_POLY array is used to give the probability of reflection and absorption (ie transmitted photons get absorbed). See SPEC_REFL_PROB.FOR for more info. 4) The last of the 8 words allocated for KMEDA_DIFF_POLY has been canabalised to accommodate the scintillation flag (since it was never used). Now only 7 words are available for KMEDA_DIFF_POLY.