Skip to content

Commit 2d3b2d1

Browse files
authored
Merge pull request #2327 from willend/format-optics
Format McXtrace optics
2 parents ae0846f + 5fd26d7 commit 2d3b2d1

26 files changed

Lines changed: 3057 additions & 2854 deletions

mcxtrace-comps/optics/Arm.comp

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -68,16 +68,14 @@ FINALLY
6868
MCDISPLAY
6969
%{
7070
/* A bit ugly; hard-coded dimensions. */
71-
72-
line(0,0,0,0.2,0,0);
73-
line(0,0,0,0,0.2,0);
74-
line(0,0,0,0,0,0.2);
7571

72+
line (0, 0, 0, 0.2, 0, 0);
73+
line (0, 0, 0, 0, 0.2, 0);
74+
line (0, 0, 0, 0, 0, 0.2);
7675

77-
cone(0.2,0,0,0.01,0.02,1,0,0);
78-
cone(0,0.2,0,0.01,0.02,0,1,0);
79-
cone(0,0,0.2,0.01,0.02,0,0,1);
80-
76+
cone (0.2, 0, 0, 0.01, 0.02, 1, 0, 0);
77+
cone (0, 0.2, 0, 0.01, 0.02, 0, 1, 0);
78+
cone (0, 0, 0.2, 0.01, 0.02, 0, 0, 1);
8179
%}
8280

8381
END

mcxtrace-comps/optics/Beamstop.comp

Lines changed: 26 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -50,38 +50,42 @@ SETTING PARAMETERS (xmin=-0.05, xmax=0.05, ymin=-0.05, ymax=0.05,
5050

5151
INITIALIZE
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

6068
TRACE
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

7582
MCDISPLAY
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

mcxtrace-comps/optics/Bragg_crystal.comp

Lines changed: 169 additions & 137 deletions
Large diffs are not rendered by default.

mcxtrace-comps/optics/Bragg_crystal_bent.comp

Lines changed: 214 additions & 193 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)