b9d0a01d |
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 | |
5929ad29 |
58 | const Int_t mxgnpr = 33; |
b9d0a01d |
59 | typedef struct { |
60 | Double_t am[nallwp+7]; //(-6:NALLWP) |
61 | Double_t amdisc[nallwp+7]; //(-6:NALLWP) |
62 | Double_t thalf[nallwp+7]; //(-6:NALLWP) |
63 | Double_t biasdc[nallwp+7]; //(-6:NALLWP) |
64 | Double_t biasin[nallwp+7]; //(-6:NALLWP) |
65 | Int_t ichrge[nallwp+7]; //(-6:NALLWP) |
66 | Int_t ibarch[nallwp+7]; //(-6:NALLWP) |
67 | Int_t ijdisc[nallwp+7]; //(-6:NALLWP) |
68 | Int_t jspinp[nallwp+7]; //(-6:NALLWP) |
69 | Int_t iparty[nallwp+7]; //(-6:NALLWP) |
70 | Int_t iparid[nallwp+7]; //(-6:NALLWP) |
71 | Int_t lhadro[nallwp+7]; //(-6:NALLWP) |
72 | Int_t lbsdcy[nallwp+7]; //(-6:NALLWP) |
73 | Int_t iscore[10]; |
74 | Int_t lprbsd; |
75 | Int_t lprbsi; |
76 | Int_t lsclwf; |
77 | Int_t lscnbl; |
78 | } papropCommon; |
79 | #define PAPROP COMMON_BLOCK(PAPROP,paprop) |
80 | COMMON_BLOCK_DEF(papropCommon,PAPROP); |
81 | |
82 | typedef struct { |
83 | Char_t btype[nallwp+7][8]; //(-6:NALLWP) |
5929ad29 |
84 | Char_t genpar[mxgnpr][8]; //(30) |
b9d0a01d |
85 | } chpprpCommon; |
86 | #define CHPPRP COMMON_BLOCK(CHPPRP,chpprp) |
87 | COMMON_BLOCK_DEF(chpprpCommon,CHPPRP); |
88 | } |
89 | |
fa3d1cc7 |
90 | //Get functions |
91 | //inline Double_t GetFlukaAM(unsigned int i) {return PAPROP.am[i+6];} |
92 | //inline Double_t GetFlukaAMDISC(unsigned int i) {return PAPROP.amdisc[i+6];} |
93 | //inline Double_t GetFlukaTHALH(unsigned int i) {return PAPROP.thalf[i+6];} |
94 | //inline Double_t GetFlukaBIASDC(unsigned int i) {return PAPROP.biasdc[i+6];} |
95 | //inline Double_t GetFlukaBIASIN(unsigned int i) {return PAPROP.biasin[i+6];} |
96 | //inline Int_t GetFlukaICHRGE(unsigned int i) {return PAPROP.ichrge[i+6];} |
97 | //inline Int_t GetFlukaIBARCH(unsigned int i) {return PAPROP.ibarch[i+6];} |
98 | //inline Int_t GetFlukaIJDISC(unsigned int i) {return PAPROP.ijdisc[i+6];} |
99 | //inline Int_t GetFlukaJSPINP(unsigned int i) {return PAPROP.jspinp[i+6];} |
100 | //inline Int_t GetFlukaIPARTY(unsigned int i) {return PAPROP.iparty[i+6];} |
101 | //inline Int_t GetFlukaIPARID(unsigned int i) {return PAPROP.iparid[i+6];} |
102 | //inline Int_t GetFlukaLHADRO(unsigned int i) {return PAPROP.lhadro[i+6];} |
103 | //inline Int_t GetFlukaLBSDCY(unsigned int i) {return PAPROP.lbsdcy[i+6];} |
b9d0a01d |
104 | #endif |