]>
Commit | Line | Data |
---|---|---|
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 | ||
9 | extern "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 | ||
101 | typedef 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) | |
142 | COMMON_BLOCK_DEF(stackCommon,STACK); | |
143 | } | |
144 | ||
145 | #endif |