]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TFluka/Fflkstk.h
Possibility to compile with AliAnalysisGoodies (Yves)
[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 *
380c2ff0 26//* Wtflk = particle statistical weight *
27//* Pmoflk = particle (laboratory) momentum (GeV/c) *
28//* Tkeflk = particle (laboratory) kinetic energy (GeV) *
29//* Xflk = particle position x-coordinate *
30//* Yflk = particle position y-coordinate *
31//* Zflk = particle position z-coordinate *
32//* Txflk = particle direction x-coordinate *
33//* Tyflk = particle direction y-coordinate *
34//* Tzflk = particle direction z-coordinate *
d5a5237d 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 *
380c2ff0 50//* (i.e. those coming from decays of daughter isotopes), *
51//* when in analogue mode, flag for position in the *
52//* activr array when in non-analogue mode *
d5a5237d 53//* Cmpath = cumulative path travelled by the particle since it *
54//* was produced (cm) *
55//* Sparek = spare real variables available for K.W.Burn *
56//* Ispark = spare integer variables available for K.W.Burn *
380c2ff0 57//* Iloflk = particle identity (Paprop numbering) *
d5a5237d 58//* Igroup = energy group for low energy neutrons *
380c2ff0 59//* Loflk = particle generation *
d5a5237d 60//* Louse = user flag *
380c2ff0 61//* Nrgflk = particle region number *
d5a5237d 62//* Nlattc = particle lattice cell number *
63//* Nhspnt = pointer to the history object (Geant4 geometry) *
64//* Nevent = number of the event which created the particle *
65//* Numpar = particle number *
66//* Lraddc = flag for particles generated in radioactive decays *
67//* Nparma = largest particle number ever reached *
380c2ff0 68//* Nstmax = highest value of the stack pointer ever reached *
d5a5237d 69//* in the run *
380c2ff0 70//* Npflka = Fluka stack pointer *
71//* Nstaol = stack pointer of the last processed particle *
d5a5237d 72//* Igroun = energy group number of the last processed particle *
73//* if it is a low energy neutron *
74//*----------------------------------------------------------------------*
75//*
76
77typedef struct {
380c2ff0 78 Double_t xflk[mfstck+1]; //(0:MFSTCK)
79 Double_t yflk[mfstck+1]; //(0:MFSTCK)
80 Double_t zflk[mfstck+1]; //(0:MFSTCK)
81 Double_t txflk[mfstck+1]; //(0:MFSTCK)
82 Double_t tyflk[mfstck+1]; //(0:MFSTCK)
83 Double_t tzflk[mfstck+1]; //(0:MFSTCK)
d5a5237d 84 Double_t txpol[mfstck+1]; //(0:MFSTCK)
85 Double_t typol[mfstck+1]; //(0:MFSTCK)
86 Double_t tzpol[mfstck+1]; //(0:MFSTCK)
87 Double_t txnor[mfstck+1]; //(0:MFSTCK)
88 Double_t tynor[mfstck+1]; //(0:MFSTCK)
89 Double_t tznor[mfstck+1]; //(0:MFSTCK)
380c2ff0 90 Double_t wtflk[mfstck+1]; //(0:MFSTCK)
91 Double_t pmoflk[mfstck+1]; //(0:MFSTCK)
92 Double_t tkeflk[mfstck+1]; //(0:MFSTCK)
d5a5237d 93 Double_t dfnear[mfstck+1]; //(0:MFSTCK)
94 Double_t agestk[mfstck+1]; //(0:MFSTCK)
95 Double_t aknshr[mfstck+1]; //(0:MFSTCK)
96 Double_t raddly[mfstck+1]; //(0:MFSTCK)
97 Double_t cmpath[mfstck+1]; //(0:MFSTCK)
98 Double_t frcphn[mfstck+1]; //(0:MFSTCK)
99 Double_t sparek[mfstck+1][mkbmx1]; //(MKBMX1,0:MFSTCK)
100 Int_t ispark[mfstck+1][mkbmx2]; //(MKBMX2,0:MFSTCK)
380c2ff0 101 Int_t iloflk[mfstck+1]; //(0:MFSTCK)
d5a5237d 102 Int_t igroup[mfstck+1]; //(0:MFSTCK)
380c2ff0 103 Int_t loflk[mfstck+1]; //(0:MFSTCK)
d5a5237d 104 Int_t louse[mfstck+1]; //(0:MFSTCK)
380c2ff0 105 Int_t nrgflk[mfstck+1]; //(0:MFSTCK)
d5a5237d 106 Int_t nlattc[mfstck+1]; //(0:MFSTCK)
107 Int_t nhspnt[mfstck+1]; //(0:MFSTCK)
108 Int_t nevent[mfstck+1]; //(0:MFSTCK)
109 Int_t numpar[mfstck+1]; //(0:MFSTCK)
110 Int_t lraddc[mfstck+1]; //(0:MFSTCK)
111 Int_t lfrphn[mfstck+1]; //(0:MFSTCK)
112 Int_t nparma;
113 Int_t nstmax;
114 Int_t npflka;
115 Int_t nstaol;
116 Int_t igroun;
117} flkstkCommon;
118#define FLKSTK COMMON_BLOCK(FLKSTK,flkstk)
119COMMON_BLOCK_DEF(flkstkCommon,FLKSTK);
120}
121
122#endif