]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TFluka/Fflkstk.h
First commit common block (FLKSTK)
[u/mrichter/AliRoot.git] / TFluka / Fflkstk.h
CommitLineData
d5a5237d 1#ifndef FFLKSTK_H
2#define FFLKSTK_H 1
3
4#include "cfortran.h"
5#include "Rtypes.h"
6
7#include "Fdimpar.h"
8
9extern "C" {
10//*$ create flkstk.add
11//*copy flkstk
12//*
13//*=== flkstk ============================================================*
14//*
15//*----------------------------------------------------------------------*
16//* *
17//* FLUKA90-200x particle stack: *
18//* *
19//* Changes: last change on 15-may-2005 by Alfredo Ferrari *
20//* INFN, Milan *
21//* *
22//* *
23//* description of the common block(s) and variable(s) *
24//* *
25//* /Flkstk/ stack for the primaries *
26//* Wt = particle statistical weight *
27//* Pmom = particle (laboratory) momentum (GeV/c) *
28//* Tke = particle (laboratory) kinetic energy (GeV) *
29//* Xa = particle position x-coordinate *
30//* Ya = particle position y-coordinate *
31//* Za = particle position z-coordinate *
32//* Tx = particle direction x-coordinate *
33//* Ty = particle direction y-coordinate *
34//* Tz = particle direction z-coordinate *
35//* Txpol = x direction cosine of the particle polarization *
36//* Typol = y direction cosine of the particle polarization *
37//* Tzpol = z direction cosine of the particle polarization *
38//* Txnor = x direction cosine of a (possible) surface normal *
39//* Tynor = y direction cosine of a (possible) surface normal *
40//* Tznor = z direction cosine of a (possible) surface normal *
41//* Dfnear = distance to the nearest boundary *
42//* Agestk = age of the particle (seconds) *
43//* Aknshr = Kshort component of K0/K0bar *
44//* Frcphn = cross section for force photonuclear interaction (if *
45//* < 0), distance to a forced photonuclear interaction *
46//* (if > 0) *
47//* Lfrphn = flag for forced photonuclear interaction *
48//* Raddly = delay (s) in production wrt the nominal primary "0" *
49//* time for particle produced in radioactive decays *
50//* (i.e. those coming from decays of daughter isotopes) *
51//* Cmpath = cumulative path travelled by the particle since it *
52//* was produced (cm) *
53//* Sparek = spare real variables available for K.W.Burn *
54//* Ispark = spare integer variables available for K.W.Burn *
55//* Ilo = particle identity (Paprop numbering) *
56//* Igroup = energy group for low energy neutrons *
57//* Lo = particle generation *
58//* Louse = user flag *
59//* Nreg = particle region number *
60//* Nlattc = particle lattice cell number *
61//* Nhspnt = pointer to the history object (Geant4 geometry) *
62//* Nevent = number of the event which created the particle *
63//* Numpar = particle number *
64//* Lraddc = flag for particles generated in radioactive decays *
65//* Nparma = largest particle number ever reached *
66//* Mstack = stack size *
67//* Lstmax = highest value of the stack pointer ever reached *
68//* in the run *
69//* Lstack = stack pointer *
70//* Lstaol = stack pointer of the last processed particle *
71//* Igroun = energy group number of the last processed particle *
72//* if it is a low energy neutron *
73//*----------------------------------------------------------------------*
74//*
75
76typedef struct {
77 Double_t xflk[mfstck+1]; //(0:MFSTCK)
78 Double_t yflk[mfstck+1]; //(0:MFSTCK)
79 Double_t zflk[mfstck+1]; //(0:MFSTCK)
80 Double_t txflk[mfstck+1]; //(0:MFSTCK)
81 Double_t tyflk[mfstck+1]; //(0:MFSTCK)
82 Double_t tzflk[mfstck+1]; //(0:MFSTCK)
83 Double_t txpol[mfstck+1]; //(0:MFSTCK)
84 Double_t typol[mfstck+1]; //(0:MFSTCK)
85 Double_t tzpol[mfstck+1]; //(0:MFSTCK)
86 Double_t txnor[mfstck+1]; //(0:MFSTCK)
87 Double_t tynor[mfstck+1]; //(0:MFSTCK)
88 Double_t tznor[mfstck+1]; //(0:MFSTCK)
89 Double_t wtflk[mfstck+1]; //(0:MFSTCK)
90 Double_t pmoflk[mfstck+1]; //(0:MFSTCK)
91 Double_t tkeflk[mfstck+1]; //(0:MFSTCK)
92 Double_t dfnear[mfstck+1]; //(0:MFSTCK)
93 Double_t agestk[mfstck+1]; //(0:MFSTCK)
94 Double_t aknshr[mfstck+1]; //(0:MFSTCK)
95 Double_t raddly[mfstck+1]; //(0:MFSTCK)
96 Double_t cmpath[mfstck+1]; //(0:MFSTCK)
97 Double_t frcphn[mfstck+1]; //(0:MFSTCK)
98 Double_t sparek[mfstck+1][mkbmx1]; //(MKBMX1,0:MFSTCK)
99 Int_t ispark[mfstck+1][mkbmx2]; //(MKBMX2,0:MFSTCK)
100 Int_t iloflk[mfstck+1]; //(0:MFSTCK)
101 Int_t igroup[mfstck+1]; //(0:MFSTCK)
102 Int_t loflk[mfstck+1]; //(0:MFSTCK)
103 Int_t louse[mfstck+1]; //(0:MFSTCK)
104 Int_t nrgflk[mfstck+1]; //(0:MFSTCK)
105 Int_t nlattc[mfstck+1]; //(0:MFSTCK)
106 Int_t nhspnt[mfstck+1]; //(0:MFSTCK)
107 Int_t nevent[mfstck+1]; //(0:MFSTCK)
108 Int_t numpar[mfstck+1]; //(0:MFSTCK)
109 Int_t lraddc[mfstck+1]; //(0:MFSTCK)
110 Int_t lfrphn[mfstck+1]; //(0:MFSTCK)
111 Int_t nparma;
112 Int_t nstmax;
113 Int_t npflka;
114 Int_t nstaol;
115 Int_t igroun;
116} flkstkCommon;
117#define FLKSTK COMMON_BLOCK(FLKSTK,flkstk)
118COMMON_BLOCK_DEF(flkstkCommon,FLKSTK);
119}
120
121#endif