Merging the VirtualMC branch to the main development branch (HEAD)
[u/mrichter/AliRoot.git] / TFluka / Fpaprop.h
1 #ifndef FPAPROP_H
2 #define FPAPROP_H 1
3
4 #include "Rtypes.h"
5 #include "cfortran.h"
6
7 #include "Fdimpar.h"
8
9 extern "C" {
10 //*$ create paprop.add
11 //*copy paprop
12 //*
13 //*=== paprop ===========================================================*
14 //*
15 //*----------------------------------------------------------------------*
16 //*                                                                      *
17 //*     include file: paprop copy                                        *
18 //*                                                                      *
19 //*     !!!!    n e w   v e r s i o n   !!!!                             *
20 //*                                                                      *
21 //*     created on    07 may 1991    by    alfredo ferrari & paola sala  *
22 //*                                                   infn - milan       *
23 //*                                                                      *
24 //*     last change on 03-jul-97     by    alfredo ferrari               *
25 //*                                                                      *
26 //*     included in the following subroutines or functions: not updated  *
27 //*                                                                      *
28 //*     description of the common block(s) and variable(s)               *
29 //*                                                                      *
30 //*     /paprop/ contains particle properties                            *
31 //*        btype  = literal name of the particle                         *
32 //*        am     = particle mass in gev                                 *
33 //*        ichrge = electric charge of the particle                      *
34 //*        ibarch = baryonic charge of the particle                      *
35 //*        iscore = explanations for the scored distribution             *
36 //*        genpar = names of the generalized particles                   *
37 //*        ijdisc = list of the particle types to be discarded           *
38 //*        thalf  = half life of the particle in sec                     *
39 //*        biasdc = decay biasing factors                                *
40 //*        biasin = inelastic interaction biasing factors                *
41 //*        lhadro = flag for hadrons                                     *
42 //*        jspinp = particle spin (in units of 1/2)                      *
43 //*        iparty = particle parity (when defined)                       *
44 //*        iparid = flag used to identify particle types                 *
45 //*        lbsdcy = logical flag for biased decay: if .true. the biasing *
46 //*                 factor is used as an upper limit to the decay length *
47 //*        lprbsd = logical flag for biased decay: if .true. the biasing *
48 //*                 factor is applied only to primaries                  *
49 //*        lprbsi = logical flag for inelastic interaction biasing: if   *
50 //*                 .true. the biasing factor is applied only to prima-  *
51 //*                 ries                                                 *
52 //*        lsclwf = logical flag for low energy neutron fission scoring  *
53 //*        lscnbl = logical flag for neutron balance scoring             *
54 //*                                                                      *
55 //*----------------------------------------------------------------------*
56 //*
57
58 typedef struct {
59    Double_t am[nallwp+7];         //(-6:NALLWP)
60    Double_t amdisc[nallwp+7];     //(-6:NALLWP)
61    Double_t thalf[nallwp+7];      //(-6:NALLWP)
62    Double_t biasdc[nallwp+7];     //(-6:NALLWP)
63    Double_t biasin[nallwp+7];     //(-6:NALLWP)
64    Int_t    ichrge[nallwp+7];     //(-6:NALLWP)
65    Int_t    ibarch[nallwp+7];     //(-6:NALLWP)
66    Int_t    ijdisc[nallwp+7];     //(-6:NALLWP)
67    Int_t    jspinp[nallwp+7];     //(-6:NALLWP)
68    Int_t    iparty[nallwp+7];     //(-6:NALLWP)
69    Int_t    iparid[nallwp+7];     //(-6:NALLWP)
70    Int_t    lhadro[nallwp+7];     //(-6:NALLWP)
71    Int_t    lbsdcy[nallwp+7];     //(-6:NALLWP)
72    Int_t    iscore[10];
73    Int_t    lprbsd;
74    Int_t    lprbsi;
75    Int_t    lsclwf;
76    Int_t    lscnbl;
77 } papropCommon;
78 #define PAPROP COMMON_BLOCK(PAPROP,paprop)
79 COMMON_BLOCK_DEF(papropCommon,PAPROP);
80
81 typedef struct {
82    Char_t   btype[nallwp+7][8];     //(-6:NALLWP)
83    Char_t   genpar[30][8];          //(30)
84 } chpprpCommon;
85 #define CHPPRP COMMON_BLOCK(CHPPRP,chpprp)
86 COMMON_BLOCK_DEF(chpprpCommon,CHPPRP);
87 }
88
89 #endif