]>
Commit | Line | Data |
---|---|---|
b9d0a01d | 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 |