@@ -50,38 +50,42 @@ SETTING PARAMETERS (xmin=-0.05, xmax=0.05, ymin=-0.05, ymax=0.05,
5050
5151INITIALIZE
5252%{
53- if (xwidth > 0) { xmax = xwidth/2; xmin = -xmax; }
54- if (yheight > 0) { ymax = yheight/2; ymin = -ymax; }
55-
56- if (xmin == 0 && xmax == 0 && ymin == 0 & ymax == 0 && radius == 0)
57- { fprintf(stderr,"Beamstop: %s: Error: give geometry\n", NAME_CURRENT_COMP); exit(-1); }
53+ if (xwidth > 0) {
54+ xmax = xwidth / 2;
55+ xmin = -xmax;
56+ }
57+ if (yheight > 0) {
58+ ymax = yheight / 2;
59+ ymin = -ymax;
60+ }
61+
62+ if (xmin == 0 && xmax == 0 && ymin == 0 & ymax == 0 && radius == 0) {
63+ fprintf (stderr, "Beamstop: %s: Error: give geometry\n", NAME_CURRENT_COMP);
64+ exit (-1);
65+ }
5866%}
5967
6068TRACE
6169%{
62- double dz,z0=z;
63- ALLOW_BACKPROP;
64- PROP_Z0;
65- dz=z-z0;/*dz<0 means photon must travel backwards to hit beamstop*/
66- if ( ((dz>=0) && ((radius!=0) && (x*x + y*y <= radius*radius)))
67- || ((dz>=0) && (radius==0) && (x>xmin && x<xmax && y>ymin && y<ymax)) ){
68- SCATTER;
69- ABSORB;
70- } else {
71- RESTORE_XRAY(INDEX_CURRENT_COMP, x, y, z, kx, ky, kz, phi, t, Ex, Ey, Ez, p);
72- }
70+ double dz, z0 = z;
71+ ALLOW_BACKPROP;
72+ PROP_Z0;
73+ dz = z - z0; /*dz<0 means photon must travel backwards to hit beamstop*/
74+ if (((dz >= 0) && ((radius != 0) && (x * x + y * y <= radius * radius))) || ((dz >= 0) && (radius == 0) && (x > xmin && x < xmax && y > ymin && y < ymax))) {
75+ SCATTER;
76+ ABSORB;
77+ } else {
78+ RESTORE_XRAY (INDEX_CURRENT_COMP, x, y, z, kx, ky, kz, phi, t, Ex, Ey, Ez, p);
79+ }
7380%}
7481
7582MCDISPLAY
7683%{
77-
84+
7885 if (radius != 0)
79- circle("xy", 0, 0, 0, radius);
86+ circle ("xy", 0, 0, 0, radius);
8087 else
81- multiline(5, (double)xmin, (double)ymin, 0.0,
82- (double)xmax, (double)ymin, 0.0,
83- (double)xmax, (double)ymax, 0.0,
84- (double)xmin, (double)ymax, 0.0,
88+ multiline (5, (double)xmin, (double)ymin, 0.0, (double)xmax, (double)ymin, 0.0, (double)xmax, (double)ymax, 0.0, (double)xmin, (double)ymax, 0.0,
8589 (double)xmin, (double)ymin, 0.0);
8690%}
8791
0 commit comments