Example #1
0
# slit
d_sl = 0.4
angle_sl = -2
sl = phoray.SimpleMirror(p, along(r2, d_m3), Vector(angle_m3,0,0))


print beam4.make_beam4_table(
    ("X", "Y", "Z", "Tilt", "Pitch", "Roll",
     "Cx", "C", "Gy", "Ord", "Type", "Dx", "Dy", "Form"),
    (
        #m1
        (m1.position.x, m1.position.y, m1.position.z,
         degrees(m1.rotation.x), 0, 0,
         0, 0, None, None, "mirror", 0.05, 0.05, "S"),
        #m2
        (m2.position.x, m2.position.y, m2.position.z,
         degrees(m2.rotation.x), 0, 0,
         0, 0, None, None, "mirror", 0.05, 0.05, "S"),
        #m3
        (m3.position.x, m3.position.y, m3.position.z,
         degrees(m3.rotation.x), 0, 0,
         0, 0, None, None, "mirror", 0.05, 0.05, "S"),
        (sl.position.x, sl.position.y, sl.position.z,
         degrees(sl.rotation.x), 0, 0,
         0, 0, None, None, "exit", 0.05, 0.05, "S"),

        ),
    width=15
    )
Example #2
0
print beam4.make_beam4_table(
    ("X", "Y", "Z", "Tilt", "Pitch", "Roll",
     "Cx", "C", "Asph", "Gx", "Ord", "Type", "Dx", "Dy", "offOy", "Form"),
    (
        #m1
        (r.endpoint.x, r.endpoint.y+a1*sin(tilt_m1), r.endpoint.z-a1*cos(tilt_m1),
         degrees(tilt_m1), 0, 0,
         None, -C1, -1, None, None, "mirror", 0.01, 0.10, None, "S"),
        #gr
        (gr.position.x, gr.position.y, gr.position.z,
         degrees(gr.rotation.x), theta, 0,
         None, None, None, ldensity, 1, "mirror", 0.01, 0.05, None, "S"),
        #m2
        (sl.position.x, sl.position.y-a2*sin(tilt_m2), sl.position.z+a2*cos(tilt_m2),
         degrees(tilt_m2), 0, 0,
         None, C2, -1, None, None, "mirror", 0.01, 0.05, None, "S"),
        # slit
        (sl.position.x, sl.position.y, sl.position.z,
         degrees(sl.rotation.x), 0, 0,
         0, 0, None, None, None, "iris", 50e-2, 0.05, None, "S"),
        #m3
        (sl.position.x, sl.position.y+a3*sin(tilt_m3), sl.position.z-a3*cos(tilt_m3),
         degrees(tilt_m3), 0, 0,
         None, -C3, -1, None, None, ("mirror", ">"), 0.01, 0.35, None, "S"),
        #m4
        (det.position.x, det.position.y-a4*sin(tilt_m4), det.position.z+a4*cos(tilt_m4),
         degrees(tilt_m4), 0, 0,
         None, C4, -1, None, None, "mirror", 0.01, 0.25, None, "S"),
        # #det
        (det.position.x, det.position.y, det.position.z,
         degrees(det.rotation.x), 0, 0,
         0, 0, None,  None, None, "exit", 0.05, 0.05, None, None),
        ),
    width=15
    )
Example #3
0
print beam4.make_beam4_table(
    ("X", "Y", "Z", "Tilt", "Pitch", "Roll",
     "Cx", "C", "Asph", "Gx", "Ord", "Type", "Dx", "Dy", "offOy", "Form"),
    (
        #m1
        (m1.position.x, m1.position.y, m1.position.z,
         degrees(m1.rotation.x), 0, 0,
         Cx1, C1, asph1, None, None, "mirror", 0.01, 0.05, None, "S"),
        #m2/gr
        (m2.position.x, m2.position.y, m2.position.z,
         degrees(m2.rotation.x), theta, 0,
         None, None, None, ldensity, m, "mirror", 0.01, 0.05, None, "S"),
        #m3
        (m3.position.x, m3.position.y, m3.position.z,
         degrees(m3.rotation.x), 0, 0,
         Cx1, C1, asph1, None, None, "mirror", 0.01, 0.05, None, "S"),
        # slit
        (sl.position.x, sl.position.y, sl.position.z,
         degrees(sl.rotation.x), 0, 0,
         0, 0, None, None, None, "iris", 50e-6, 0.05, None, "S"),
        #m4
        (sl.position.x, sl.position.y-a4p*sin(angle_m4p), sl.position.z+a4p*cos(angle_m4p),
         degrees(angle_m4p), 0, 0,
         Cx4p, C4p, asph4p, None, None, ("mirror", ">"), 0.01, 0.005, 0.121, "S"),
        #m5
        (det.position.x, det.position.y-a5p*sin(angle_m5p), det.position.z+a5p*cos(angle_m5p),
         degrees(angle_m5p), 0, 0,
         Cx5p, C5p, asph5p, None, None, "mirror", 0.01, 0.095, None, "S"),
        #det
        (det.position.x, det.position.y, det.position.z,
         degrees(det.rotation.x), 0, 0,
         0, 0, None,  None, None, "exit", 0.05, 0.05, None, None),
        ),
    width=15
    )
Example #4
0
                           n)

s1 = zip(s1[0], s1[1], s1[2])
s2 = zip(s2[0], s2[1], s2[2])

p1 = []
p2 = []

for a in s1:
    line = []
    line.extend(a[0])
    line.extend(a[1])
    line.extend(((float(wl(a[2][0]).rescale(m)), "r"), 1, None, None, None))
    p1.append(line)

for a in s2:
    line = []
    line.extend(a[0])
    line.extend(a[1])
    line.extend(((float(wl(a[2][0]).rescale(m)), "b"), 1, None, None, None))
    p2.append(line)

r = beam4.make_beam4_table(
("X0", "Y0", "Z0", "U0", "V0", "W0", "@wavel", "Order", "Xfinal", "Yfinal", "Notes"),
p1+p2, 15
)
#print p1

print 2*n
print r