]>
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 * | |
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 | |
68 | typedef 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) | |
98 | COMMON_BLOCK_DEF(beamCommon,BEAM); | |
99 | } | |
100 | ||
101 | #endif |