finuc replaced by genstk
[u/mrichter/AliRoot.git] / TFluka / Fgenstk.h
1 #ifndef FGENSTK
2 #define FGENSTK_H 1
3                                                                                 
4 #include "Rtypes.h"
5 #include "cfortran.h"
6                                                                                 
7 #include "Fdimpar.h"
8 //*$ CREATE GENSTK.ADD
9 //*COPY GENSTK
10 //*
11 //*=== Genstk ===========================================================*
12 //*
13 //*----------------------------------------------------------------------*
14 //*                                                                      *
15 //*     hadron GENerator STacK for FLUKA: (new version of old Finuc of   *
16 //*     FLUKA86 by J.Ranft)                                              *
17 //*                                                                      *
18 //*     !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!      *
19 //*     !!!!     S E E   A L S O   I N C L U D E   F I L E     !!!!      *
20 //*     !!!!                 G E N S T K 2                     !!!!      *
21 //*     !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!      *
22 //*                                                                      *
23 //*     Created on  20 january 1996  by    Alfredo Ferrari & Paola Sala  *
24 //*                                                   Infn - Milan       *
25 //*                                                                      *
26 //*     Last change on 15-may-05     by    Alfredo Ferrari               *
27 //*                                                                      *
28 //*                                                                      *
29 //*     /Genstk/ is the storage for secondaries created in hadronic      *
30 //*              events                                                  *
31 //*        Np        = total number of secondaries                       *
32 //*       Kpart (ip) = (Paprop) id of the ip_th secondary                *
33 //*         Cxr (ip) = x-axis direction cosine of the ip_th secondary    *
34 //*         Cyr (ip) = y-axis direction cosine of the ip_th secondary    *
35 //*         Czr (ip) = z-axis direction cosine of the ip_th secondary    *
36 //*      Cxrpol (ip) = x-axis direction cosine of the ip_th secondary    *
37 //*                    polarization vector (rest frame when applicable)  *
38 //*      Cyrpol (ip) = y-axis direction cosine of the ip_th secondary    *
39 //*                    polarization vector (rest frame when applicable)  *
40 //*      Czrpol (ip) = z-axis direction cosine of the ip_th secondary    *
41 //*                    polarization vector (rest frame when applicable)  *
42 //*         Tki (ip) = laboratory kinetic energy of ip_th secondary (GeV)*
43 //*         Plr (ip) = laboratory momentum of the ip_th secondary (GeV/c)*
44 //*         Wei (ip) = statistical weight of the ip_th secondary         *
45 //*      Agesec (ip) = "age" of the ip_th secondary with respect to the  *
46 //*                    interaction time                                  *
47 //*        Tv        = excitation energy (GeV)                           *
48 //*        Tvcms     = actual excitation energy of the residual nucleus  *
49 //*        Tvrecl    = recoil kinetic energy of the residual nucleus     *
50 //*        Tvheav    = recoil kinetic energies of heavy (2-H, 3-H, 3-He, *
51 //*                    4-He) fragments after evaporation                 *
52 //*        Tvbind    = approximate energy wasted in nuclear binding      *
53 //*                    effects (not yet operational)                     *
54 //*                                                                      *
55 //*----------------------------------------------------------------------*
56
57 extern "C" {
58 const Int_t mxp = mxpscs;
59 //*
60
61 typedef struct {
62    Double_t cxr[mxp];
63    Double_t cyr[mxp];
64    Double_t czr[mxp];
65    Double_t cxrpol[mxp];
66    Double_t cyrpol[mxp];
67    Double_t czrpol[mxp];
68    Double_t tki[mxp];
69    Double_t plr[mxp];
70    Double_t wei[mxp];
71    Double_t agesec[mxp];
72    Double_t tv;
73    Double_t tvcms;
74    Double_t tvrecl;
75    Double_t tvheav;
76    Double_t tvbind;
77     Int_t    kpart[mxp];
78    Int_t    np0;
79    Int_t    np;
80 } genstkCommon;
81 #define GENSTK COMMON_BLOCK(GENSTK,genstk)
82 COMMON_BLOCK_DEF(genstkCommon,GENSTK);
83 }
84 #endif