beam replaced by beamcm
[u/mrichter/AliRoot.git] / TFluka / Fstack.h
CommitLineData
b9d0a01d 1#ifndef FSTACK_H
2#define FSTACK_H 1
3
4#include "cfortran.h"
5#include "Rtypes.h"
6
7#include "Fdimpar.h"
8
9extern "C" {
10//*$ create stack.add
11//*copy stack
12//*
13//*=== stack ============================================================*
14//*
15//*----------------------------------------------------------------------*
16//* *
17//* include file: stack copy created 26/11/86 by p*
18//* *
19//* changes: last change on 16-sep-1999 by alfredo ferrari *
20//* infn, milan *
21//* *
22//* included in the following subroutines or functions: not updated *
23//* *
24//* aemshh *
25//* beamdv *
26//* beamem *
27//* beamso *
28//* delthr *
29//* dplstk *
30//* epilog *
31//* feeder *
32//* flnwst *
33//* flukam *
34//* geofar *
35//* geomtr *
36//* kashea *
37//* kaskad *
38//* kasneu *
39//* kasray *
40//* mgdraw *
41//* pphnev *
42//* soevsv *
43//* source *
44//* stckad *
45//* stuprf *
46//* zeroin *
47//* *
48//* description of the common block(s) and variable(s) *
49//* *
50//* /stack/ stack for the primaries *
51//* wt = weight of the particle *
52//* pmom = laboratory momentum of the particle in gev/c *
53//* tke = laboratory kinetic energy of the particle in gev *
54//* xa = x-coordinate of the particle *
55//* ya = y-coordinate of the particle *
56//* za = z-coordinate of the particle *
57//* tx = direction cosine of the particle *
58//* with respect to x-axis *
59//* ty = direction cosine of the particle *
60//* with respect to y-axis *
61//* tz = direction cosine of the particle *
62//* with respect to z-axis *
63//* txpol = direction cosine of the particle polarization *
64//* typol = direction cosine of the particle polarization *
65//* tzpol = direction cosine of the particle polarization *
66//* txnor = direction cosine of a (possible) surface normal *
67//* tynor = direction cosine of a (possible) surface normal *
68//* tznor = direction cosine of a (possible) surface normal *
69//* dfnear = distance to the nearest boundary *
70//* agestk = age of the particle (seconds) *
71//* aknshr = kshort component of k0/k0bar *
72//* raddly = delay (s) in production wrt the nominal primary "0" *
73//* time for particle produced in radioactive decays *
74//* (i.e. those coming from decays of daughter isotopes) *
5929ad29 75//* cmpath = cumulative path travelled by the particle since it *
76//* was produced (cm)
b9d0a01d 77//* sparek = spare real variables available for k.w.burn *
78//* ispark = spare integer variables available for k.w.burn *
79//* ilo = type of the particle (see btype in /paprop/) *
80//* igroup = energy group for low energy neutrons *
81//* lo = generation of the particle *
82//* louse = user flag *
83//* nreg = number of the region of the particle *
84//* nlattc = number of the lattice cell of the particle *
85//* nhspnt = pointer to the history object (geant4 geometry) *
86//* nevent = number of the event which created the particle *
87//* numpar = particle number *
88//* lraddc = flag for particles generated in radioactive decyas *
89//* nparma = biggest particle number encountered *
90//* mstack = size of the stack *
91//* lstmax = highest value of the stack pointer encountered *
92//* in the run *
93//* lstack = stack pointer *
94//* lstaol = stack pointer of the last processed particle *
95//* igroun = energy group number of the last processed particle *
96//* if it is a low energy neutron *
97//* *
98//*----------------------------------------------------------------------*
99//*
100
101typedef struct {
102 Double_t xa[mfstck+1]; //(0:MFSTCK)
103 Double_t ya[mfstck+1]; //(0:MFSTCK)
104 Double_t za[mfstck+1]; //(0:MFSTCK)
105 Double_t tx[mfstck+1]; //(0:MFSTCK)
106 Double_t ty[mfstck+1]; //(0:MFSTCK)
107 Double_t tz[mfstck+1]; //(0:MFSTCK)
108 Double_t txpol[mfstck+1]; //(0:MFSTCK)
109 Double_t typol[mfstck+1]; //(0:MFSTCK)
110 Double_t tzpol[mfstck+1]; //(0:MFSTCK)
111 Double_t txnor[mfstck+1]; //(0:MFSTCK)
112 Double_t tynor[mfstck+1]; //(0:MFSTCK)
113 Double_t tznor[mfstck+1]; //(0:MFSTCK)
114 Double_t wt[mfstck+1]; //(0:MFSTCK)
115 Double_t pmom[mfstck+1]; //(0:MFSTCK)
116 Double_t tke[mfstck+1]; //(0:MFSTCK)
117 Double_t dfnear[mfstck+1]; //(0:MFSTCK)
118 Double_t agestk[mfstck+1]; //(0:MFSTCK)
119 Double_t aknshr[mfstck+1]; //(0:MFSTCK)
120 Double_t raddly[mfstck+1]; //(0:MFSTCK)
5929ad29 121 Double_t cmpath[mfstck+1]; //(0:MFSTCK)
b9d0a01d 122 Double_t sparek[mfstck+1][mkbmx1]; //(MKBMX1,0:MFSTCK)
123 Int_t ispark[mfstck+1][mkbmx2]; //(MKBMX2,0:MFSTCK)
124 Int_t ilo[mfstck+1]; //(0:MFSTCK)
125 Int_t igroup[mfstck+1]; //(0:MFSTCK)
126 Int_t lo[mfstck+1]; //(0:MFSTCK)
127 Int_t louse[mfstck+1]; //(0:MFSTCK)
128 Int_t nreg[mfstck+1]; //(0:MFSTCK)
129 Int_t nlattc[mfstck+1]; //(0:MFSTCK)
130 Int_t nhspnt[mfstck+1]; //(0:MFSTCK)
131 Int_t nevent[mfstck+1]; //(0:MFSTCK)
132 Int_t numpar[mfstck+1]; //(0:MFSTCK)
133 Int_t lraddc[mfstck+1]; //(0:MFSTCK)
134 Int_t nparma;
135 Int_t mstack;
136 Int_t lstmax;
137 Int_t lstack;
138 Int_t lstaol;
139 Int_t igroun;
140} stackCommon;
141#define STACK COMMON_BLOCK(STACK,stack)
142COMMON_BLOCK_DEF(stackCommon,STACK);
143}
144
145#endif