5617bb739a16d5b308e2e38d38e738fe7f19ff8d
[u/mrichter/AliRoot.git] / TFluka / Fbeam.h
1 #ifndef FBEAM_H
2 #define FBEAM_H 1
3
4 #include "cfortran.h"
5 #include "Rtypes.h"
6 extern "C" {
7 //*$ create beam.add
8 //*copy beam
9 //*
10 //*=== beam =============================================================*
11 //*
12 //*----------------------------------------------------------------------*
13 //*     include file: beam copy                    created 26/11/86 by pa*
14 //*                                                                      *
15 //*     changes: on 22-oct-1993     by             alfredo ferrari       *
16 //*                                                                      *
17 //*     included in the following subroutines or functions: not updated  *
18 //*                                                                      *
19 //*     description of the common block(s) and variable(s)               *
20 //*                                                                      *
21 //*                                                                      *
22 //*     /beam/ contains properties of the beam of primary particles      *
23 //*        pbeam  = average momentum of the beam particles in gev/c      *
24 //*        dpbeam = momentum spread of the beam in gev/c                 *
25 //*        divbm  = angular divergense of the beam in mrad               *
26 //*        xspot  = beam width in x-direction in cm                      *
27 //*        yspot  = beam width in y-direction in cm                      *
28 //*        xina   = x-coordinate of the centre of the beam spot          *
29 //*        yina   = y-coordinate of the centre of the beam spot          *
30 //*        zina   = z-coordinate of the centre of the beam spot          *
31 //*        tinx   = direction cosine of the beam with respect to         *
32 //*                 x-axis                                               *
33 //*        tiny   = direction cosine of the beam with respect to         *
34 //*                 y-axis                                               *
35 //*        tinz   = direction cosine of the beam with respect to         *
36 //*                 z-axis                                               *
37 //*        tinpx  = direction cosine of the beam polariz. with respect to*
38 //*                 x-axis                                               *
39 //*        tinpy  = direction cosine of the beam polariz. with respect to*
40 //*                 y-axis                                               *
41 //*        tinpz  = direction cosine of the beam polariz. with respect to*
42 //*                 z-axis                                               *
43 //*        polfra = polarization fraction                                *
44 //*        nforce = number of the region of forced interaction           *
45 //*        xfor   = x-coord. of the starting point of the region nforce  *
46 //*        yfor   = y-coord. of the starting point of the region nforce  *
47 //*        zfor   = z-coord. of the starting point of the region nforce  *
48 //*        disfor = thickness of the region nforce in cm                 *
49 //*        wfor   = relative weight of the particle due to forcing       *
50 //*        ijbeam = beam particle type (see btype in /paprop/)           *
51 //*        ijhion = heavy ion type if ijbeam = -2                        *
52 //*        ipbite = flag describing the shape of the momentum            *
53 //*                 distribution of the beam                             *
54 //*                 0=rectangular, 1=gaussian                            *
55 //*        idiv   = flag describing the shape of the angular             *
56 //*                 divergence distribution of the beam                  *
57 //*                 0=rectangular, 1=gaussian                            *
58 //*        ixspot = flag describing the shape of the spatial             *
59 //*                 distribution of the beam spot in x-direction         *
60 //*                 0=rectangular, 1=gaussian                            *
61 //*        iyspot = flag describing the shape of the spatial             *
62 //*                 distribution of the beam spot in y-direction         *
63 //*                 0=rectangular, 1=gaussian                            *
64 //*        beawei = weight of the beam particles                         *
65 //*        lbeamc = flag for an annular beam                             *
66 //*        lpperp = flag for polar. perp. to the beam direction          *
67 //*        lpfrac = flag for interpreting the polar. fraction            *
68 //*                                                                      *
69 //*----------------------------------------------------------------------*
70 //      LOGICAL LBEAMC, LPPERP, LPFRAC
71
72 typedef struct {
73    Double_t pbeam;
74    Double_t dpbeam;
75    Double_t divbm;
76    Double_t xspot;
77    Double_t yspot;
78    Double_t xina;
79    Double_t yina;
80    Double_t zina;
81    Double_t tinx;
82    Double_t tiny;
83    Double_t tinz;
84    Double_t tinpx;
85    Double_t tinpy;
86    Double_t tinpz;
87    Double_t polfra;
88    Double_t beawei;
89    Double_t xfor;
90    Double_t yfor;
91    Double_t zfor;
92    Double_t disfor;
93    Double_t wfor;
94    Int_t    ijbeam;
95    Int_t    ijhion;
96    Int_t    ipbite;
97    Int_t    idiv;
98    Int_t    ixspot;
99    Int_t    iyspot;
100    Int_t    nforce;
101    Int_t    lbeamc;
102    Int_t    lpperp;
103    Int_t    lpfrac;
104 } beamCommon;
105 #define BEAM COMMON_BLOCK(BEAM,beam)
106 COMMON_BLOCK_DEF(beamCommon,BEAM);
107 }
108
109 #endif