Common block updates needed for fluka2005.6
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 1 Sep 2005 13:50:27 +0000 (13:50 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 1 Sep 2005 13:50:27 +0000 (13:50 +0000)
TFluka/Fdblprc.h
TFluka/Fdimpar.h
TFluka/Femfrgn.h
TFluka/Femfstk.h
TFluka/Fevtflg.h
TFluka/Fpaprop.h
TFluka/Ftrackr.h

index 9a9d1a86253073fcca6482f40995f075f66b73de..b1d1cf70bf6f0b173d5d1ca4cc9c58278f84fba7 100644 (file)
@@ -92,7 +92,7 @@ const Double_t onemns = 0.999999999999999e+00;
 const Double_t onepls = 1.000000000000001e+00;
 const Double_t csnnrm = 2.0e-15;
 const Double_t dmxtrn = 1.0e+08;
-const Double_t rhflmn = 1.0e-06;
+const Double_t rhflmn = 1.0e-10;
 //*
 //*======================================================================*
 //*======================================================================*
@@ -333,6 +333,7 @@ const Double_t amdeut = 1.87561339e+00;
 const Double_t amalph = 3.72738025692891e+00;
 const Double_t cougfm = elccgs*elccgs/elcmks*(1.e-7)*(1.e+13)*(1.e-9);
 const Double_t rclsel = 2.8179409183694872e-13;
+const Double_t alamb0 = twotwo * pipipi * rclsel / alpfsc;
 const Double_t bltzmn = 8.617385e-14;
 const Double_t a0bohr = plabrc/alpfsc/amelct;
 const Double_t gfohb3 = 1.16639e-5;
@@ -347,6 +348,10 @@ const Double_t ev2gev = 1.0e-9;
 const Double_t gev2ev = 1.0e+9;
 const Double_t emvgev = 1.0e-3;
 const Double_t cmq2mb = 1.0e+27;
+const Double_t fmb2ba = 1.0e-3;
+const Double_t bar2mb = 1.0e+3;
+const Double_t fmb2fs = 1.0e-1;
+const Double_t fms2mb = 1.0e+1;
 const Double_t algvmv = 6.90775527898214e+00;
 const Double_t raddeg = (180.e+00)/pipipi;
 const Double_t degrad = pipipi/(180.e+00);
index 00e1045edb06609cfece10fbac5932f8c41fdeef..975acef8668dddf054aeec055c21e6e012401c59 100644 (file)
@@ -4,67 +4,72 @@
 #include "cfortran.h"
 #include "Rtypes.h"
 extern "C" {
-//*$ create dimpar.add
-//*copy dimpar
-//*                                                                      *
-//*=== dimpar ===========================================================*
-//*                                                                      *
 //*----------------------------------------------------------------------*
 //*                                                                      *
-//*      dimpar: included in any routine                                 *
+//*      DIMPAR: included in any routine                                 *
 //*                                                                      *
-//*          mxxrgn = maximum number of regions                          *
-//*          mxxmdf = maximum number of media in fluka                   *
-//*          mxxmde = maximum number of media in emf                     *
-//*          mfstck = stack dimension in fluka                           *
-//*          mestck = stack dimension in emf                             *
-//*          mostck = stack dimension for optical photons                *
-//*          mxprsn = secondary stack dimension for resonance generator  *
-//*          mxpdpm = secondary stack dimension for dpm generators       *
+//*          Mxxrgn = maximum number of regions                          *
+//*          Mxxmdf = maximum number of media in Fluka                   *
+//*          Mxxmde = maximum number of media in Emf                     *
+//*          Mfstck = stack dimension in Fluka                           *
+//*          Mestck = stack dimension in Emf                             *
+//*          Mostck = stack dimension for optical photons                *
+//*          Mxprsn = secondary stack dimension for resonance generator  *
+//*          Mxpdpm = secondary stack dimension for DPM generators       *
 //*          Mxpscs = secondary stack dimension overall                  *
-//*          mxoutu = maximum number of output units                     *
-//*          nallwp = number of allowed particles                        *
-//*          nelemx = number of maximum allowed elements of a compound   *
-//*          mpdpdx = number of particle types for which em de/dx pro-   *
+//*          Mxoutu = maximum number of output units                     *
+//*          Nallwp = number of allowed particles                        *
+//*          Nelemx = number of maximum allowed elements of a compound   *
+//*                   or mixture                                         *
+//*          Mpdpdx = number of particle types for which EM dE/dx pro-   *
 //*                   cesses (ion,pair,bremss) have to be computed       *
-//*          mxhttr = maximum number of (hit) target nucleons for a      *
+//*          Mxhttr = maximum number of (hit) target nucleons for a      *
 //*                   given collision generation                         *
-//*          icomax = maximum number of materials for compounds (equal   *
-//*                   to the sum of the number of materials for every    *
-//*                   compound )                                         *
-//*          ichmax = maximum number of harmonic oscillator levels for   *
-//*                   compounds (equal to the sum of the number of har-  *
-//*                   monic oscillator levels for every compound )       *
-//*          nstbis = number of stable isotopes recorded in common iso-  *
+//*          Icomax = maximum number of materials for compounds/mixtures *
+//*                  (equal to the sum of the number of materials for    *
+//*                   every compound/mixture)                            *
+//*          Ichmax = maximum number of harmonic oscillator levels for   *
+//*                   compounds/mixtures (equal to the sum of the number *
+//*                   of harmonic oscillator levels for every compound   *
+//*                   /mixture)                                          *
+//*          Nstbis = number of stable isotopes recorded in common iso-  *
 //*                   top                                                *
-//*          mxpabl = number of resonances inside hadrin common blocks   *
-//*          idmaxp = number of particles/resonances defined in common   *
+//*          Nqstis = number of "quasi" stable isotopes which are not    *
+//*                   in the standard isotopic composition of a given    *
+//*                   element, but for which special data (like GDR data)*
+//*                   are anyway available                               *
+//*          Ntstis = total number of stable ans "quasi" stable isotopes *
+//*          Mxpabl = number of resonances inside Hadrin common blocks   *
+//*          Idmaxp = number of particles/resonances defined in common   *
 //*                   part                                               *
-//*          idmxdc = number of particles/resonances decay channels      *
+//*          Idmxdc = number of particles/resonances decay channels      *
 //*                   defined in common decayc                           *
-//*          ihypmx = maximum number of hyperons in a hypernucleus       *
-//*          mkbmx1 = dimension for kwb real spare array in fluka stack  *
-//*          mkbmx2 = dimension for kwb int. spare array in fluka stack  *
-//*                                                                      *
-//*----------------------------------------------------------------------*
+//*          Ihypmx = maximum number of hyperons in a hypernucleus       *
+//*          Mkbmx1 = dimension for KWB real spare array in Fluka Stack  *
+//*          Mkbmx2 = dimension for KWB int. spare array in Fluka Stack  *
 //*                                                                      *
+//*----------------------------------------------------------------------*   
+
 const Int_t mxxrgn = 10000;
 const Int_t mxxmdf = 510;
 const Int_t mxxmde = 502;
-const Int_t mfstck = 5500;
+const Int_t mfstck = 6500;
 const Int_t mestck = 100;
 const Int_t mostck = 2000;
 const Int_t mxprsn = 100;
 const Int_t mxpdpm = 800;
-const Int_t mxpscs = 3999;
+const Int_t mxpscs = 4999;
 const Int_t mxoutu = 50;
 const Int_t nallwp = 64;
 const Int_t nelemx = 80;
 const Int_t mpdpdx = 18;
 const Int_t mxhttr = 260;
-const Int_t icomax = 700;
+const Int_t icomax = 1000;
 const Int_t ichmax = icomax+mxxmdf;
 const Int_t nstbis = 304;
+    const Int_t nqstis = 46;
+    const Int_t ntstis = nstbis + nqstis;
+    
 //* till 3-aug-99:
 //*     const Int_t mxpabl =  110;
 const Int_t mxpabl = 120;
@@ -77,6 +82,9 @@ const Int_t ihypmx = 4;
 //*     const Int_t mkbmx2 =    3;
 const Int_t mkbmx1 = 11;
 const Int_t mkbmx2 = 11;
+    const Int_t mxirrd = 20;
+    const Int_t mxtrdc = 50;
+    const Int_t nktl   = 17;
 }
 
 #endif
index f90e3fa503a55400b65d4296e97ad79aa65cdc2b..59d8b9710e7194d81a1cb1ee61a4a388fe28a351 100644 (file)
@@ -21,13 +21,11 @@ extern "C" {
   //*D     DIMENSION MED (MXXRGN)
   //*D     EQUIVALENCE ( MED (1), MEDEMF (1) )
 typedef struct {
-  Double_t rhor[mxxrgn];
-  Double_t ecut[mxxrgn];
-  Double_t pcut[mxxrgn];
+  Double_t elethr[mxxrgn];
+  Double_t phothr[mxxrgn];
   Double_t emreje;
   Double_t emsamp;
   Double_t emsngl;
-  Double_t vacdst;
   Int_t    medemf[mxxrgn];
   Int_t    iraylr[mxxrgn];
   Int_t    nrgemf;
index 275d59663cfa9460d99d027cb3415a7d4b968487..b4dfc26a81c7faafd53bbe59a9a0f29d2f00855e 100644 (file)
@@ -23,12 +23,12 @@ extern "C" {
 typedef struct {
    Double_t etemf[mestck]; // total energy in MeV
    Double_t pmemf[mestck];
-   Double_t x[mestck]; // particle x-coordinate
-   Double_t y[mestck]; // particle y-coordinate
-   Double_t z[mestck]; // particle z-coordinate
-   Double_t u[mestck]; // x direction cosine
-   Double_t v[mestck]; // y direction cosine
-   Double_t w[mestck]; // z direction cosine
+   Double_t xemf[mestck]; // particle x-coordinate
+   Double_t yemf[mestck]; // particle y-coordinate
+   Double_t zemf[mestck]; // particle z-coordinate
+   Double_t uemf[mestck]; // x direction cosine
+   Double_t vemf[mestck]; // y direction cosine
+   Double_t wemf[mestck]; // z direction cosine
    Double_t dnear[mestck]; // equivalent to GEANT "safety"
    Double_t upol[mestck]; // polarisation in x direction
    Double_t vpol[mestck]; // polarisation in y direction
@@ -40,6 +40,7 @@ typedef struct {
    Double_t agemf[mestck]; // age
    Double_t cmpemf[mestck];
    Double_t espark[mestck][mkbmx1];
+   Double_t rdlyem[mestck];
    Int_t    iespak[mestck][mkbmx2];
    Int_t    ichemf[mestck]; // charge
    Int_t    iremf[mestck];  // region
@@ -47,6 +48,7 @@ typedef struct {
    Int_t    nhpemf[mestck];
    Int_t    lloemf[mestck]; // generation number
    Int_t    louemf[mestck];
+   Int_t    lrdemf[mestck];
    Int_t    npemf;  // number of particles in stack
    Int_t    npstrt; // EMF stack index before the interaction (since
                     // the projectile disappears it is also the starting
index 4b2f84ad99bd96817fd16555a8e06e20efdddede..da206286b6d1bf41065ef94f30904ae45d537d2f 100644 (file)
@@ -32,6 +32,8 @@ typedef struct {
    Int_t    lcohsc;
    Int_t    llensc;
    Int_t    loppsc;
+   Int_t    leldis;
+    Int_t    lrdcay;
    Int_t    ntrcks;
 } evtflgCommon;
 #define EVTFLG COMMON_BLOCK(EVTFLG,evtflg)
index 72940e35109ff02eb13b3a4c03be1ca1aed56d50..ad2801a3cc2767d5580b305d3fcb6bb3394899f5 100644 (file)
@@ -7,59 +7,61 @@
 #include "Fdimpar.h"
 
 extern "C" {
-//*$ create paprop.add
-//*copy paprop
-//*
-//*=== paprop ===========================================================*
-//*
-//*----------------------------------------------------------------------*
-//*                                                                      *
-//*     include file: paprop copy                                        *
-//*                                                                      *
-//*     !!!!    n e w   v e r s i o n   !!!!                             *
-//*                                                                      *
-//*     created on    07 may 1991    by    alfredo ferrari & paola sala  *
-//*                                                   infn - milan       *
-//*                                                                      *
-//*     last change on 03-jul-97     by    alfredo ferrari               *
-//*                                                                      *
-//*     included in the following subroutines or functions: not updated  *
-//*                                                                      *
-//*     description of the common block(s) and variable(s)               *
-//*                                                                      *
-//*     /paprop/ contains particle properties                            *
-//*        btype  = literal name of the particle                         *
-//*        am     = particle mass in gev                                 *
-//*        ichrge = electric charge of the particle                      *
-//*        ibarch = baryonic charge of the particle                      *
-//*        iscore = explanations for the scored distribution             *
-//*        genpar = names of the generalized particles                   *
-//*        ijdisc = list of the particle types to be discarded           *
-//*        thalf  = half life of the particle in sec                     *
-//*        biasdc = decay biasing factors                                *
-//*        biasin = inelastic interaction biasing factors                *
-//*        lhadro = flag for hadrons                                     *
-//*        jspinp = particle spin (in units of 1/2)                      *
-//*        iparty = particle parity (when defined)                       *
-//*        iparid = flag used to identify particle types                 *
-//*        lbsdcy = logical flag for biased decay: if .true. the biasing *
-//*                 factor is used as an upper limit to the decay length *
-//*        lprbsd = logical flag for biased decay: if .true. the biasing *
-//*                 factor is applied only to primaries                  *
-//*        lprbsi = logical flag for inelastic interaction biasing: if   *
-//*                 .true. the biasing factor is applied only to prima-  *
-//*                 ries                                                 *
-//*        lsclwf = logical flag for low energy neutron fission scoring  *
-//*        lscnbl = logical flag for neutron balance scoring             *
-//*                                                                      *
-//*----------------------------------------------------------------------*
-//*
+  //*$ CREATE PAPROP.ADD
+  //*COPY PAPROP
+  //*
+  //*=== paprop ===========================================================*
+  //*
+  //*----------------------------------------------------------------------*
+  //*                                                                      *
+  //*     PArticle PROPerties:                                             *
+  //*                                                                      *
+  //*     !!!!  N E W   V E R S I O N   F O R   FLUKA9x/FLUKA200x  !!!!    *
+  //*                                                                      *
+  //*     Created on    07 may 1991    by    Alfredo Ferrari & Paola Sala  *
+  //*                                                   Infn - Milan       *
+  //*                                                                      *
+  //*     Last change on 03-jul-97     by    Alfredo Ferrari               *
+  //*                                                                      *
+  //*     Variable description:                                            *
+  //*                                                                      *
+  //*        btype (i) = literal name of the i_th particle                 *
+  //*        am    (i) = i_th particle mass (GeV)                          *
+  //*        amdisc(i) = i_th particle mass (GeV) for energy conservation  *
+  //*                    purposes when discarded                           *
+  //*        ichrge(i) = electric charge of the i_th particle              *
+  //*        ibarch(i) = baryonic charge of the i_th particle              *
+  //*        iscore(j) = id for the j_th scored distribution               *
+  //*        genpar(k) = name of the k_th generalized particle type        *
+  //*        ijdisc(i) = flag for discarding the i_th particle type        *
+  //*        thalf (i) = mean (not half!) life of the i_th particle (s)    *
+  //*        biasdc(i) = decay biasing factor for the i_th particle        *
+  //*        biasin(i) = inelastic interaction biasing factor for the i_th *
+  //*                    particle                                          *
+  //*        lhadro(i) = True if the i_th particle type is a hadron        *
+  //*        jspinp(i) = i_th particle spin (in units of 1/2)              *
+  //*        iparty(i) = i_th particle parity (when meaningful)            *
+  //*        iparid(i) = particle type id flag for the i_th particle       *
+  //*        lbsdcy(i) = logical flag for biased decay for the i_th parti- *
+  //*                    cle: if .true. the biasing factor is used as an   *
+  //*                    upper limit to the decay length                   *
+  //*        lprbsd    = logical flag for biased decay: if .true. the bia- *
+  //*                    sing factor is applied only to primaries          *
+  //*        lprbsi    = logical flag for inelastic interaction biasing:   *
+  //*                    if .true. the biasing factor is applied only to   *
+  //*                    primaries                                         *
+  //*        lsclwf    = logical flag for low energy neutron fission sco-  *
+  //*                    ring                                              *
+  //*        lscnbl    = logical flag for neutron balance scoring          *
+  //*                                                                      *
+  //*----------------------------------------------------------------------*
+
 
 const Int_t mxgnpr =  33;
 typedef struct {
    Double_t am[nallwp+7];         //(-6:NALLWP)
    Double_t amdisc[nallwp+7];     //(-6:NALLWP)
-   Double_t thalf[nallwp+7];      //(-6:NALLWP)
+   Double_t tmnlf[nallwp+7];      //(-6:NALLWP)
    Double_t biasdc[nallwp+7];     //(-6:NALLWP)
    Double_t biasin[nallwp+7];     //(-6:NALLWP)
    Int_t    ichrge[nallwp+7];     //(-6:NALLWP)
@@ -70,7 +72,7 @@ typedef struct {
    Int_t    iparid[nallwp+7];     //(-6:NALLWP)
    Int_t    lhadro[nallwp+7];     //(-6:NALLWP)
    Int_t    lbsdcy[nallwp+7];     //(-6:NALLWP)
-   Int_t    iscore[10];
+   Int_t    iscore[12];
    Int_t    lprbsd;
    Int_t    lprbsi;
    Int_t    lsclwf;
@@ -86,19 +88,4 @@ typedef struct {
 #define CHPPRP COMMON_BLOCK(CHPPRP,chpprp)
 COMMON_BLOCK_DEF(chpprpCommon,CHPPRP);
 }
-
-//Get functions
-//inline Double_t GetFlukaAM(unsigned int i) {return PAPROP.am[i+6];}
-//inline Double_t GetFlukaAMDISC(unsigned int i) {return PAPROP.amdisc[i+6];}
-//inline Double_t GetFlukaTHALH(unsigned int i) {return PAPROP.thalf[i+6];}
-//inline Double_t GetFlukaBIASDC(unsigned int i) {return PAPROP.biasdc[i+6];}
-//inline Double_t GetFlukaBIASIN(unsigned int i) {return PAPROP.biasin[i+6];}
-//inline Int_t    GetFlukaICHRGE(unsigned int i) {return PAPROP.ichrge[i+6];}
-//inline Int_t    GetFlukaIBARCH(unsigned int i) {return PAPROP.ibarch[i+6];}
-//inline Int_t    GetFlukaIJDISC(unsigned int i) {return PAPROP.ijdisc[i+6];}
-//inline Int_t    GetFlukaJSPINP(unsigned int i) {return PAPROP.jspinp[i+6];}
-//inline Int_t    GetFlukaIPARTY(unsigned int i) {return PAPROP.iparty[i+6];}
-//inline Int_t    GetFlukaIPARID(unsigned int i) {return PAPROP.iparid[i+6];}
-//inline Int_t    GetFlukaLHADRO(unsigned int i) {return PAPROP.lhadro[i+6];}
-//inline Int_t    GetFlukaLBSDCY(unsigned int i) {return PAPROP.lbsdcy[i+6];}
 #endif
index 6d06f9927d6bdcdcd002d8cf87c4724ac2a213cb..8528cab2f58f249e59ac0f452bef3479eef26c3f 100644 (file)
@@ -1,3 +1,8 @@
+#include "cfortran.h"
+#include "Rtypes.h"
+
+#include "Fdimpar.h"
+
 extern "C" {
 //*$ create trackr.add
 //*copy trackr