Updates needed for move to geant4.6
[u/mrichter/AliRoot.git] / TFluka / Fbeam.h
CommitLineData
b9d0a01d 1#ifndef FBEAM_H
2#define FBEAM_H 1
3
4#include "cfortran.h"
5#include "Rtypes.h"
6extern "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
72typedef 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)
106COMMON_BLOCK_DEF(beamCommon,BEAM);
107}
108
109#endif