f827183d |
1 | #ifndef FEMFSTK |
2 | #define FEMFSTK_H 1 |
3 | |
4 | #include "Rtypes.h" |
5 | #include "cfortran.h" |
6 | |
7 | #include "Fdimpar.h" |
8 | extern "C" { |
9 | //*$ create emfstk.add |
10 | //*copy emfstk |
11 | //* |
12 | //*=== emfstk ===========================================================* |
13 | //* |
14 | //*----------------------------------------------------------------------* |
15 | //* * |
16 | //* common emfstk (emf stack) for emf * |
17 | //* * |
18 | //* last change on 08-oct-97 by alfredo ferrari * |
19 | //* * |
20 | //*----------------------------------------------------------------------* |
21 | //* |
f827183d |
22 | |
23 | typedef struct { |
cd4c194d |
24 | Double_t etemf[mestck]; // total energy in MeV |
25 | Double_t pmemf[mestck]; |
26 | Double_t x[mestck]; // particle x-coordinate |
27 | Double_t y[mestck]; // particle y-coordinate |
28 | Double_t z[mestck]; // particle z-coordinate |
29 | Double_t u[mestck]; // x direction cosine |
30 | Double_t v[mestck]; // y direction cosine |
31 | Double_t w[mestck]; // z direction cosine |
32 | Double_t dnear[mestck]; // equivalent to GEANT "safety" |
33 | Double_t upol[mestck]; // polarisation in x direction |
34 | Double_t vpol[mestck]; // polarisation in y direction |
35 | Double_t wpol[mestck]; // polarisation in z direction |
36 | Double_t usnrml[mestck]; |
37 | Double_t vsnrml[mestck]; |
38 | Double_t wsnrml[mestck]; |
39 | Double_t wtemf[mestck]; // weight |
40 | Double_t agemf[mestck]; // age |
41 | Double_t espark[mestck][mkbmx1]; |
42 | Int_t iespak[mestck][mkbmx2]; |
43 | Int_t ichemf[mestck]; // charge |
44 | Int_t iremf[mestck]; // region |
45 | Int_t irlatt[mestck]; // lattice cell |
46 | Int_t nhpemf[mestck]; |
47 | Int_t lloemf[mestck]; // generation number |
48 | Int_t louemf[mestck]; |
49 | Int_t npemf; // number of particles in stack |
f827183d |
50 | Int_t npstrt; // EMF stack index before the interaction (since |
51 | // the projectile disappears it is also the starting |
52 | // index of secondaries) |
cd4c194d |
53 | //*d === obsolete variable names === * |
54 | //*d parameter ( idmemf = mestck ) |
55 | //*d dimension e (idmemf), wt (idmemf), iq (idmemf), ir (idmemf) |
56 | //*d equivalence ( e (1), etemf (1) ) |
57 | //*d equivalence ( wt (1), wtemf (1) ) |
58 | //*d equivalence ( ir (1), iremf (1) ) |
59 | //*d equivalence ( iq (1), ichemf (1) ) |
60 | //*d equivalence ( np, npemf ) |
f827183d |
61 | } emfstkCommon; |
62 | #define EMFSTK COMMON_BLOCK(EMFSTK,emfstk) |
63 | COMMON_BLOCK_DEF(emfstkCommon,EMFSTK); |
64 | } |
65 | #endif |