added stuff
[u/mrichter/AliRoot.git] / TFluka / Femfstk.h
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 //*
22
23 typedef struct {
24    Double_t etemf[mestck]; // total energy in MeV
25    Double_t pmemf[mestck];
26    Double_t xemf[mestck]; // particle x-coordinate
27    Double_t yemf[mestck]; // particle y-coordinate
28    Double_t zemf[mestck]; // particle z-coordinate
29    Double_t uemf[mestck]; // x direction cosine
30    Double_t vemf[mestck]; // y direction cosine
31    Double_t wemf[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 cmpemf[mestck];
42    Double_t espark[mestck][mkbmx1];
43    Double_t rdlyem[mestck];
44    Int_t    iespak[mestck][mkbmx2];
45    Int_t    ichemf[mestck]; // charge
46    Int_t    iremf[mestck];  // region
47    Int_t    irlatt[mestck]; // lattice cell
48    Int_t    nhpemf[mestck];
49    Int_t    lloemf[mestck]; // generation number
50    Int_t    louemf[mestck];
51    Int_t    lrdemf[mestck];
52    Int_t    npemf;  // number of particles in stack
53    Int_t    npstrt; // EMF stack index before the interaction (since
54                     // the projectile disappears it is also the starting
55                     // index of secondaries)
56 //*d === obsolete variable names === *
57 //*d     parameter ( idmemf = mestck )
58 //*d     dimension e (idmemf), wt (idmemf), iq (idmemf), ir (idmemf)
59 //*d     equivalence ( e   (1), etemf  (1) )
60 //*d     equivalence ( wt  (1), wtemf  (1) )
61 //*d     equivalence ( ir  (1), iremf  (1) )
62 //*d     equivalence ( iq  (1), ichemf (1) )
63 //*d     equivalence ( np, npemf )
64 } emfstkCommon;
65 #define EMFSTK COMMON_BLOCK(EMFSTK,emfstk)
66 COMMON_BLOCK_DEF(emfstkCommon,EMFSTK);
67 }
68 #endif