--- /dev/null
+#include "cfortran.h"
+#include "Rtypes.h"
+
+#include "Fdimpar.h"
+
+extern "C" {
+/*$ CREATE FLKMAT.ADD
+*COPY FLKMAT
+*
+*=== Flkmat ===========================================================*
+*
+*----------------------------------------------------------------------*
+* *
+* Partial (some variables come from FLUKA87) *
+* Copyright (C) 1996-2005 by Alfredo Ferrari *
+* All Rights Reserved. *
+* *
+* *
+* FLuKa MATerial properties and atomic data *
+* *
+* Version for Fluka91/.../2005/...: *
+* *
+* Last change on 28-Apr-05 by Alfredo Ferrari, INFN-Milan *
+* *
+* *
+* This common contains the basic properties of the materials used *
+* in the FLUKA run. Other properties are recorded in specialized *
+* commons (ie for dE/dx etc) *
+* *
+* Aocmbm(i) = Atomic density of the i_th material in barn^-1 cm^-1 *
+* (Atoms Over Cm times Barn for Materials) *
+* Eocmbm(i) = Electron density of the i_th material in barn^-1cm^-1*
+* (Atoms Over Cm times Barn for Materials) *
+* Amss(i) = Atomic weight (g/mole) of the i_th material *
+* Amssem(i) = "Effective" i_th material atomic weight for the para-*
+* metrized EM cascade *
+* Rho(i) = Density of the i_th material *
+* Ztar(i) = Atomic number of the i_th material *
+* Zsqtar(i) = Squared atomic number of the i_th material *
+* Ztarem(i) = "Effective" atomic number for the i_th material for *
+* the parametrized EM cascade *
+* Ainlng(i) = Inelastic scattering length of the i_th material *
+* for beam particles at the average beam energy in cm *
+* Aellng(i) = Elastic scattering length of the i_th material for *
+* beam particles at average beam energy in cm *
+* X0rad(i) = Radiation lengths of the materials in cm *
+* Ainnth(i) = Inelastic scattering length of the i_th material *
+* for neutrons at threshold energy in cm *
+* Medium(k) = Material number of the k_th region *
+* Mulflg(i) = Flags for multiple scattering options for the i_th *
+* material *
+* Icomp(i) = Starting address in the Matnum array if the i_th *
+* material is a compound/mixture, 0 otherwise *
+* Mssnum(i) = Mass number of the target nucleus for the i_th mater-*
+* ial, if =< 0 it means that it is in the natural isot-*
+* opic composition *
+* Msindx(i) = Index for tabulations for the given isotope of the *
+* target nucleus (meaningful only for mssnum > 0) *
+* that it is in the natural isotopic composition *
+* Lcmpnd(i) = logical flag for real compounds versus mixtures *
+* Matnam(i) = Alphabetical name of the i_th material number *
+* Nregs = total number of regions *
+* Nregcg = total number of combinatorial geometry regions *
+* Nmat = total number of materials used in the problem *
+* Mtbsnm = medium for which inelastic interaction biasing must *
+* be done *
+* *
+* Mxxmdf = maximum number of materials *
+* Mxxrgn = maximum number of regions *
+* *
+*----------------------------------------------------------------------*
+*
+ CHARACTER*8 MATNAM
+ LOGICAL LCMPND
+ COMMON / FLKMAT / AOCMBM(MXXMDF), EOCMBM(MXXMDF), AMSS (MXXMDF),
+ & AMSSEM(MXXMDF), RHO (MXXMDF), ZTAR (MXXMDF),
+ & ZTAREM(MXXMDF), ZSQTAR(MXXMDF), AINLNG(MXXMDF),
+ & AELLNG(MXXMDF), X0RAD (MXXMDF), AINNTH(MXXMDF),
+ & MEDIUM(MXXRGN), MULFLG(MXXMDF), ICOMP (MXXMDF),
+ & MSSNUM(MXXMDF), MSINDX(MXXMDF), LCMPND(MXXMDF),
+ & NREGS , NMAT , MTBSNM, NREGCG
+ COMMON / CHFLKM / MATNAM(MXXMDF)
+ SAVE / FLKMAT /
+ SAVE / CHFLKM /
+*/
+
+ typedef struct {
+ Double_t aocmbm[mxxmdf];
+ Double_t eocmbm[mxxmdf];
+ Double_t amss [mxxmdf];
+ Double_t amssem[mxxmdf];
+ Double_t rho [mxxmdf];
+ Double_t ztar [mxxmdf];
+ Double_t ztarem[mxxmdf];
+ Double_t zsqtar[mxxmdf];
+ Double_t ainlng[mxxmdf];
+ Double_t aellng[mxxmdf];
+ Double_t x0rad [mxxmdf];
+ Double_t ainnth[mxxmdf];
+ Int_t medium[mxxrgn];
+ Int_t mulflg[mxxmdf];
+ Int_t icomp [mxxmdf];
+ Int_t mssnum[mxxmdf];
+ Int_t msindx[mxxmdf];
+ Int_t lcmpnd[mxxmdf];
+ Int_t nregs;
+ Int_t nmat;
+ Int_t mtbsnm;
+ Int_t nregcg;
+ } flkmatCommon;
+#define FLKMAT COMMON_BLOCK(FLKMAT,flkmat)
+ COMMON_BLOCK_DEF(flkmatCommon, FLKMAT);
+}