#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 *
+ //* gnname(k) = name of the k_th generalized particle type * 2006.3
+ //* ijdisc(i) = flag for discarding the i_th particle type *
+ //* tmnlf (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 *
+ //* *
+ //*----------------------------------------------------------------------*
-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 biasdc[nallwp+7]; //(-6:NALLWP)
- Double_t biasin[nallwp+7]; //(-6:NALLWP)
- Int_t ichrge[nallwp+7]; //(-6:NALLWP)
- Int_t ibarch[nallwp+7]; //(-6:NALLWP)
- Int_t ijdisc[nallwp+7]; //(-6:NALLWP)
- Int_t jspinp[nallwp+7]; //(-6:NALLWP)
- Int_t iparty[nallwp+7]; //(-6:NALLWP)
- 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 lprbsd;
- Int_t lprbsi;
- Int_t lsclwf;
- Int_t lscnbl;
-} papropCommon;
+
+// const Int_t mxgnpr = 33; // 2006.3
+ const Int_t mxgnpr = 35;
+ typedef struct {
+ Double_t am[nallwp+7]; //(-6:NALLWP)
+ Double_t amdisc[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)
+ Int_t ibarch[nallwp+7]; //(-6:NALLWP)
+ Int_t ijdisc[nallwp+7]; //(-6:NALLWP)
+ Int_t jspinp[nallwp+7]; //(-6:NALLWP)
+ Int_t iparty[nallwp+7]; //(-6:NALLWP)
+ Int_t iparid[nallwp+7]; //(-6:NALLWP)
+ Int_t lhadro[nallwp+7]; //(-6:NALLWP)
+ Int_t lbsdcy[nallwp+7]; //(-6:NALLWP)
+ Int_t iscore[12];
+ Int_t lprbsd;
+ Int_t lprbsi;
+ Int_t lsclwf;
+ Int_t lscnbl;
+ } papropCommon;
#define PAPROP COMMON_BLOCK(PAPROP,paprop)
COMMON_BLOCK_DEF(papropCommon,PAPROP);
-typedef struct {
- Char_t btype[nallwp+7][8]; //(-6:NALLWP)
- Char_t genpar[30][8]; //(30)
-} chpprpCommon;
+ typedef struct {
+ Char_t btype[nallwp+7][8]; //(-6:NALLWP)
+// Char_t genpar[mxgnpr][8]; // 2006.3
+ Char_t gnname[mxgnpr][8]; // 2006.3
+ } chpprpCommon;
#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