]>
Commit | Line | Data |
---|---|---|
f5957fe9 | 1 | #include "cfortran.h" |
2 | #include "Rtypes.h" | |
3 | ||
4 | #include "Fdimpar.h" | |
5 | ||
6 | extern "C" { | |
7 | /*$ CREATE FLKMAT.ADD | |
8 | *COPY FLKMAT | |
9 | * | |
10 | *=== Flkmat ===========================================================* | |
11 | * | |
12 | *----------------------------------------------------------------------* | |
13 | * * | |
14 | * Partial (some variables come from FLUKA87) * | |
15 | * Copyright (C) 1996-2005 by Alfredo Ferrari * | |
16 | * All Rights Reserved. * | |
17 | * * | |
18 | * * | |
19 | * FLuKa MATerial properties and atomic data * | |
20 | * * | |
21 | * Version for Fluka91/.../2005/...: * | |
22 | * * | |
23 | * Last change on 28-Apr-05 by Alfredo Ferrari, INFN-Milan * | |
24 | * * | |
25 | * * | |
26 | * This common contains the basic properties of the materials used * | |
27 | * in the FLUKA run. Other properties are recorded in specialized * | |
28 | * commons (ie for dE/dx etc) * | |
29 | * * | |
30 | * Aocmbm(i) = Atomic density of the i_th material in barn^-1 cm^-1 * | |
31 | * (Atoms Over Cm times Barn for Materials) * | |
32 | * Eocmbm(i) = Electron density of the i_th material in barn^-1cm^-1* | |
33 | * (Atoms Over Cm times Barn for Materials) * | |
34 | * Amss(i) = Atomic weight (g/mole) of the i_th material * | |
35 | * Amssem(i) = "Effective" i_th material atomic weight for the para-* | |
36 | * metrized EM cascade * | |
37 | * Rho(i) = Density of the i_th material * | |
38 | * Ztar(i) = Atomic number of the i_th material * | |
39 | * Zsqtar(i) = Squared atomic number of the i_th material * | |
40 | * Ztarem(i) = "Effective" atomic number for the i_th material for * | |
41 | * the parametrized EM cascade * | |
42 | * Ainlng(i) = Inelastic scattering length of the i_th material * | |
43 | * for beam particles at the average beam energy in cm * | |
44 | * Aellng(i) = Elastic scattering length of the i_th material for * | |
45 | * beam particles at average beam energy in cm * | |
46 | * X0rad(i) = Radiation lengths of the materials in cm * | |
47 | * Ainnth(i) = Inelastic scattering length of the i_th material * | |
48 | * for neutrons at threshold energy in cm * | |
49 | * Medium(k) = Material number of the k_th region * | |
50 | * Mulflg(i) = Flags for multiple scattering options for the i_th * | |
51 | * material * | |
52 | * Icomp(i) = Starting address in the Matnum array if the i_th * | |
53 | * material is a compound/mixture, 0 otherwise * | |
54 | * Mssnum(i) = Mass number of the target nucleus for the i_th mater-* | |
55 | * ial, if =< 0 it means that it is in the natural isot-* | |
56 | * opic composition * | |
57 | * Msindx(i) = Index for tabulations for the given isotope of the * | |
58 | * target nucleus (meaningful only for mssnum > 0) * | |
59 | * that it is in the natural isotopic composition * | |
60 | * Lcmpnd(i) = logical flag for real compounds versus mixtures * | |
61 | * Matnam(i) = Alphabetical name of the i_th material number * | |
62 | * Nregs = total number of regions * | |
63 | * Nregcg = total number of combinatorial geometry regions * | |
64 | * Nmat = total number of materials used in the problem * | |
65 | * Mtbsnm = medium for which inelastic interaction biasing must * | |
66 | * be done * | |
67 | * * | |
68 | * Mxxmdf = maximum number of materials * | |
69 | * Mxxrgn = maximum number of regions * | |
70 | * * | |
71 | *----------------------------------------------------------------------* | |
72 | * | |
73 | CHARACTER*8 MATNAM | |
74 | LOGICAL LCMPND | |
75 | COMMON / FLKMAT / AOCMBM(MXXMDF), EOCMBM(MXXMDF), AMSS (MXXMDF), | |
76 | & AMSSEM(MXXMDF), RHO (MXXMDF), ZTAR (MXXMDF), | |
77 | & ZTAREM(MXXMDF), ZSQTAR(MXXMDF), AINLNG(MXXMDF), | |
78 | & AELLNG(MXXMDF), X0RAD (MXXMDF), AINNTH(MXXMDF), | |
79 | & MEDIUM(MXXRGN), MULFLG(MXXMDF), ICOMP (MXXMDF), | |
80 | & MSSNUM(MXXMDF), MSINDX(MXXMDF), LCMPND(MXXMDF), | |
81 | & NREGS , NMAT , MTBSNM, NREGCG | |
82 | COMMON / CHFLKM / MATNAM(MXXMDF) | |
83 | SAVE / FLKMAT / | |
84 | SAVE / CHFLKM / | |
85 | */ | |
86 | ||
87 | typedef struct { | |
88 | Double_t aocmbm[mxxmdf]; | |
89 | Double_t eocmbm[mxxmdf]; | |
90 | Double_t amss [mxxmdf]; | |
91 | Double_t amssem[mxxmdf]; | |
92 | Double_t rho [mxxmdf]; | |
93 | Double_t ztar [mxxmdf]; | |
94 | Double_t ztarem[mxxmdf]; | |
95 | Double_t zsqtar[mxxmdf]; | |
96 | Double_t ainlng[mxxmdf]; | |
97 | Double_t aellng[mxxmdf]; | |
98 | Double_t x0rad [mxxmdf]; | |
99 | Double_t ainnth[mxxmdf]; | |
100 | Int_t medium[mxxrgn]; | |
101 | Int_t mulflg[mxxmdf]; | |
102 | Int_t icomp [mxxmdf]; | |
103 | Int_t mssnum[mxxmdf]; | |
104 | Int_t msindx[mxxmdf]; | |
105 | Int_t lcmpnd[mxxmdf]; | |
106 | Int_t nregs; | |
107 | Int_t nmat; | |
108 | Int_t mtbsnm; | |
109 | Int_t nregcg; | |
110 | } flkmatCommon; | |
111 | #define FLKMAT COMMON_BLOCK(FLKMAT,flkmat) | |
112 | COMMON_BLOCK_DEF(flkmatCommon, FLKMAT); | |
113 | } |