PyXΒΆ

[1]:
from pyfeyn2.feynmandiagram import FeynmanDiagram, Leg, Propagator, Vertex
from pyfeyn2.render.pyx.pyxrender import PyxRender
[2]:
fd = FeynmanDiagram()
v1 = Vertex("v1").set_xy(-1, 0)
v2 = Vertex("v2").set_xy(1, 0)
p1 = Propagator("p1").connect(v1, v2).set_type("photon")
l1 = Leg("l1").set_target(v1).set_xy(-2, 1).set_type("photon").set_incoming().set_label("$g_1$")
l2 = Leg("l2").set_target(v1).set_xy(-2, -1).set_type("photon").set_incoming().set_label("$g_2$")
l3 = Leg("l3").set_target(v2).set_xy(2, 1).set_type("photon").set_outgoing().set_label("$g_3$")
l4 = Leg("l4").set_target(v2).set_xy(2, -1).set_type("photon").set_outgoing().set_label("$g_4$")
p1.set_source(v1)
p1.set_target(v2)
fd.propagators.append(p1)
fd.vertices.extend([v1, v2])
fd.legs.extend([l1, l2,l3,l4 ])
[3]:
pr = PyxRender(fd)
pr.render("tmp.pdf")
../_images/examples_PyX_3_0.png
[3]:
../_images/examples_PyX_3_1.png
[5]:
from pyfeyn2.render.pyx import config
[6]:
pr = PyxRender(fd)
config.getOptions().DEBUG = False
config.getOptions().VDEBUG = True
pr.render("tmp.pdf")
Running in visual debug mode
../_images/examples_PyX_5_1.png
[6]:
../_images/examples_PyX_5_2.png
[7]:

pr = PyxRender(fd) config.getOptions().VDEBUG = False config.getOptions().DEBUG = True pr.render("tmp.pdf")
#objs = 0
Object <class 'pyfeyn2.render.pyx.points.DecoratedPoint'> layer = 1 + 1000 = 1001
#objs = 1
Object <class 'pyfeyn2.render.pyx.points.DecoratedPoint'> layer = 2 + 1000 = 1002
#objs = 2
Object <class 'pyfeyn2.render.pyx.points.DecoratedPoint'> layer = 3 + 1000 = 1003
#objs = 3
Object <class 'pyfeyn2.render.pyx.points.DecoratedPoint'> layer = 4 + 1000 = 1004
#objs = 4
Object <class 'pyfeyn2.render.pyx.lines.Vector'> layer = 5 + 0 = 5
Adding label: $g_1$
Labels = [<pyfeyn2.render.pyx.deco.LineLabel object at 0x7fc801f3b7c0>]
#objs = 5
Object <class 'pyfeyn2.render.pyx.lines.Vector'> layer = 6 + 0 = 6
Adding label: $g_2$
Labels = [<pyfeyn2.render.pyx.deco.LineLabel object at 0x7fc801f3b4f0>]
#objs = 6
Object <class 'pyfeyn2.render.pyx.lines.Vector'> layer = 7 + 0 = 7
Adding label: $g_3$
Labels = [<pyfeyn2.render.pyx.deco.LineLabel object at 0x7fc801f3b0a0>]
#objs = 7
Object <class 'pyfeyn2.render.pyx.lines.Vector'> layer = 8 + 0 = 8
Adding label: $g_4$
Labels = [<pyfeyn2.render.pyx.deco.LineLabel object at 0x7fc801f3b0d0>]
#objs = 8
Object <class 'pyfeyn2.render.pyx.lines.Vector'> layer = 9 + 0 = 9
Adding label: $g_4$
Labels = [<pyfeyn2.render.pyx.deco.LineLabel object at 0x7fc801f91bb0>]
Final #objs = 9
Depth =  1002
Depth =  1002
Depth =  1004
Depth =  1004
Depth =  5
Drawing <class 'pyfeyn2.render.pyx.lines.Vector'> with styles = []
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Depth =  6
Drawing <class 'pyfeyn2.render.pyx.lines.Vector'> with styles = []
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Depth =  7
Drawing <class 'pyfeyn2.render.pyx.lines.Vector'> with styles = []
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Depth =  8
Drawing <class 'pyfeyn2.render.pyx.lines.Vector'> with styles = []
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Depth =  9
Drawing <class 'pyfeyn2.render.pyx.lines.Vector'> with styles = []
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
../_images/examples_PyX_6_1.png
[7]:
../_images/examples_PyX_6_2.png
[ ]: