Switch to negative values of logical output units to obtain binary output
[u/mrichter/AliRoot.git] / TFluka / Fopphcm.h
CommitLineData
1b866d4b 1#ifndef FOPPHCM_H
2#define FOPPHCM_H 1
3
4#include "Rtypes.h"
5#include "cfortran.h"
6#include "Fdimpar.h"
7
8extern "C" {
9/*
10*=== Opphcm ===========================================================*
11*
12*----------------------------------------------------------------------*
13* *
14* OPtical PHoton CoMmon: *
15* *
16* Created on 19 september 1997 by Alfredo Ferrari & Paola Sala *
17* Infn - Milan *
18* *
19* Last change on 11-jan-99 by Alfredo Ferrari *
20* *
21* Opphpr (ip,im) = ip_th optical property parameter of the im_th *
22* material (non metal) *
23* ip = *
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 *
36* metal: *
37* ip = *
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 *
45* for im_th medium *
46* Emxcer (im) = maximum energy for Cerenkov photon production *
47* for im_th medium *
48* Rmxcer (im) = maximum refractive index in the energy range *
49* of interest for Cerenkov photon production *
50* for im_th medium *
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 *
70* for im_th medium *
71* Omcnop (im) = central 2pi x freq. for opt. photon transport *
72* for im_th medium *
73* Ommxop (im) = maximum 2pi x freq. for opt. photon transport *
74* for im_th medium *
75* Wvmnsn = minimum wavelength for opt. photon sensitivity*
76* (default: 25 nm) *
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- *
82* vity *
83* Omcnsn = central 2pi x freq. for opt. photon sensiti- *
84* vity *
85* Ommxsn = maximum 2pi x freq. for opt. photon sensiti- *
86* vity *
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 *
91* boundary *
92* M2rghn (ib) = 2nd material of ib_th material-to-material *
93* boundary *
94* M1rgbx (ix) = 1st region of ix_th region-to-region special *
95* boundary *
96* M2rgbx (ix) = 2nd region of ix_th region-to-region special *
97* boundary *
98* Lopprp (im) = logical flag for optical properties of im_th *
99* material *
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 *
124* *
125*----------------------------------------------------------------------*
126
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,
136 & LWVOPS, LTSCNT
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)
150*/
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;
159
160 typedef struct {
161 Double_t wvmnsn;
162 Double_t wvcnsn;
163 Double_t wvmxsn;
164 Double_t ommnsn;
165 Double_t omcnsn;
166 Double_t ommxsn;
167 Double_t opsnmx;
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];
197 Int_t lwvops;
198 Int_t nxoppb;
199 Int_t nxopbx;
200 Int_t ltscnt [mxxmdf][mxscph];
201 } opphcmCommon;
202#define OPPHCM COMMON_BLOCK(OPPHCM,opphcm)
203COMMON_BLOCK_DEF(opphcmCommon,OPPHCM);
204}
205#endif