Using TGeo to retrieve the mean material budget between two points (M.Ivanov)
[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 *
5929ad29 44//* beawei = weight of the beam particles *
45//* bmaxis(j,i) = j_th component of the i_th axis used to define the*
46//* conventional x,y,z beam reference frame *
47//*!!!!! ATTENTION: in C++ it is the component bmaxis(i,j) !!!!! *
b9d0a01d 48//* ijbeam = beam particle type (see btype in /paprop/) *
49//* ijhion = heavy ion type if ijbeam = -2 *
5929ad29 50//* ldpgss = true for a gaussian momentum distribution of the *
51//* beam particles, false for a rectangular one *
52//* ldvgss = true for a gaussian angular divergence distribution *
53//* of the beam particles, false for a rectangular one *
54//* ldxgss = true for a gaussian spatial distribution of the beam *
55//* spot in the x-direction, false for a rectangular one *
56//* ldygss = true for a gaussian spatial distribution of the beam *
57//* spot in the y-direction, false for a rectangular one *
b9d0a01d 58//* lbeamc = flag for an annular beam *
59//* lpperp = flag for polar. perp. to the beam direction *
5929ad29 60//* lpfrac = flag for interpreting the polar. fraction
61//* lbaxis = logical flag for using a beam axis frame different *
62//* from the standard one *
b9d0a01d 63//* *
64//*----------------------------------------------------------------------*
5929ad29 65// LBEAMC, LPPERP, LPFRAC, LDPGSS, LDVGSS, LDXGSS, LDYGSS,
66// & LBAXIS
b9d0a01d 67
68typedef struct {
69 Double_t pbeam;
70 Double_t dpbeam;
71 Double_t divbm;
72 Double_t xspot;
73 Double_t yspot;
74 Double_t xina;
75 Double_t yina;
76 Double_t zina;
77 Double_t tinx;
78 Double_t tiny;
79 Double_t tinz;
80 Double_t tinpx;
81 Double_t tinpy;
82 Double_t tinpz;
83 Double_t polfra;
84 Double_t beawei;
5929ad29 85 Double_t bmaxis[3][3];
b9d0a01d 86 Int_t ijbeam;
87 Int_t ijhion;
5929ad29 88 Int_t ldpgss;
89 Int_t ldvgss;
90 Int_t ldxgss;
91 Int_t ldygss;
b9d0a01d 92 Int_t lbeamc;
93 Int_t lpperp;
94 Int_t lpfrac;
5929ad29 95 Int_t lbaxis;
b9d0a01d 96} beamCommon;
97#define BEAM COMMON_BLOCK(BEAM,beam)
98COMMON_BLOCK_DEF(beamCommon,BEAM);
99}
100
101#endif