Use fluka routine usrdci to get ion properties.
[u/mrichter/AliRoot.git] / TFluka / Fflkmat.h
CommitLineData
f5957fe9 1#include "cfortran.h"
2#include "Rtypes.h"
3
4#include "Fdimpar.h"
5
6extern "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}