Updates needed for geant4.6 and fluka2004.
[u/mrichter/AliRoot.git] / TFluka / Ffheavy.h
CommitLineData
fa3d1cc7 1extern "C" {
2//*$ create fheavy.add
3//*copy fheavy
4//*
5//*=== fheavy ===========================================================*
6//*
7//*----------------------------------------------------------------------*
8//* *
9//* include file: fheavy *
10//* *
11//* created on 5 april 1990 by alfredo ferrari, infn milan *
12//* *
13//* last change on 26-jul-97 by alfredo ferrari, infn milan *
14//* *
15//* included in the following subroutines or functions: not updated *
16//* *
17//* description of the common block(s) and variable(s) *
18//* *
19//* /fheavy/ is the storage for heavy secondaries created in the *
20//* nuclear evaporation *
21//* npheav = number of secondaries *
22//* kheavy(ip) = type of the secondary ip *
23//* ( 3 = deuteron, 4 = 3-h, 5 = 3-he, 6 = 4-he, *
24//* 7-12 = "heavy" fragment specified by ibheav and *
25//* icheav ) *
26//* cxheav(ip) = direction cosine of the secondary ip *
27//* with respect to x-axis *
28//* cyheav(ip) = direction cosine of the secondary ip *
29//* with respect to y-axis *
30//* czheav(ip) = direction cosine of the secondary ip *
31//* with respect to z-axis *
32//* tkheav(ip) = kinetic energy of secondary ip *
33//* pheavy(ip) = momentum of the secondary ip *
34//* wheavy(ip) = weight of the secondary ip *
35//* agheav(ip) = "age" of the secondary ip with respect to the *
36//* interaction time *
37//* amheav(kp) = atomic masses of the twelve types of evaporated *
38//* or fragmented or fissioned particles *
39//* amnhea(kp) = nuclear masses of the twelve types of evaporated *
40//* or fragmented or fissioned particles *
41//* bhheav(jp,kp) = (nuclear) binding energy of the jp_th hyperon of *
42//* the kp-type heavy particle *
43//* anheav(kp) = name of the kp-type heavy particle *
44//* icheav(kp) = charge of the kp-type heavy particle *
45//* ibheav(kp) = mass number of the kp-type heavy particle *
46//* imheav(kp) = isomeric state of the kp-type heavy particle *
47//* ihheav(kp) = number of hyperons of the kp-type heavy particle *
48//* khheav(jp,kp) = id of the jp_th hyperon of the kp-type heavy *
49//* particle *
50//* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! *
51//* !!! there is now the possibility to produce up to 6 "heavy" !!!! *
52//* !!! fragments besides the residual nucleus recorded in !!!! *
53//* !!! resnuc: they are identified by indeces 7-12, of course !!!! *
54//* !!! the corresponding physical properties (z,a,m..) must be !!!! *
55//* !!! updated every time they are produced !!!! *
56//* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! *
57//*----------------------------------------------------------------------*
58//*
59const Int_t mxheav = 100;
5929ad29 60const Int_t kxheav = 30;
fa3d1cc7 61
62typedef struct {
63 Double_t cxheav[mxheav];
64 Double_t cyheav[mxheav];
65 Double_t czheav[mxheav];
66 Double_t tkheav[mxheav];
67 Double_t pheavy[mxheav];
68 Double_t wheavy[mxheav];
69 Double_t agheav[mxheav];
70 Double_t bhheav[kxheav][ihypmx];
71 Double_t amheav[kxheav];
72 Double_t amnhea[kxheav];
73 Int_t kheavy[mxheav];
74 Int_t icheav[kxheav];
75 Int_t ibheav[kxheav];
76 Int_t imheav[kxheav];
77 Int_t ihheav[kxheav];
78 Int_t khheav[kxheav][ihypmx];
79 Int_t npheav;
80} fheavyCommon;
81#define FHEAVY COMMON_BLOCK(FHEAVY,fheavy)
82COMMON_BLOCK_DEF(fheavyCommon,FHEAVY);
83
84typedef struct {
85 Char_t anheav[kxheav][8];
86} fheavcCommon;
87#define FHEAVC COMMON_BLOCK(FHEAVC,fheavc)
88COMMON_BLOCK_DEF(fheavcCommon,FHEAVC);
89}