Using TGeo to retrieve the mean material budget between two points (M.Ivanov)
[u/mrichter/AliRoot.git] / TFluka / Fpaprop.h
CommitLineData
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
9extern "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 58const Int_t mxgnpr = 33;
b9d0a01d 59typedef 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)
80COMMON_BLOCK_DEF(papropCommon,PAPROP);
81
82typedef 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)
87COMMON_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