PyX

[1]:
from pyfeyn2.feynmandiagram import FeynmanDiagram, Leg, Propagator, Vertex
from pyfeyn2.render.pyx.pyxrender import PyxRender
import pyfeyn2
print(pyfeyn2.__version__)
2.0.5.16
[2]:
fd = FeynmanDiagram()
v1 = Vertex("v1").with_xy(-1, 0)
v2 = Vertex("v2").with_xy(1, 0)
p1 = Propagator("p1").connect(v1, v2).with_type("photon")
l1 = Leg("l1").with_target(v1).with_xy(-2, 1).with_type("photon").with_incoming().set_label("$g_1$")
l2 = Leg("l2").with_target(v1).with_xy(-2, -1).with_type("photon").with_incoming().set_label("$g_2$")
l3 = Leg("l3").with_target(v2).with_xy(2, 1).with_type("photon").with_outgoing().set_label("$g_3$")
l4 = Leg("l4").with_target(v2).with_xy(2, -1).with_type("photon").with_outgoing().set_label("$g_4$")
p1.with_source(v1)
p1.with_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/renderers_pyx_PyX_3_0.png
[3]:
../../_images/renderers_pyx_PyX_3_1.png
[4]:
from pyfeyn2.render.pyx import config
[5]:
pr = PyxRender(fd)
config.getOptions().DEBUG = False
config.getOptions().VDEBUG = True
pr.render("tmp.pdf")
Running in visual debug mode
../../_images/renderers_pyx_PyX_5_1.png
[5]:
../../_images/renderers_pyx_PyX_5_2.png
[ ]:

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 0x7f66b15ce760>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66b15cedc0>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66b15cee80>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66b15ceee0>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66b15ce1c0>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66b15ce460>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66b15ce100>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66d7f5b940>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66d77e1a00>]
#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 0x7f66b15ce760>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66b15cedc0>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66b15cee80>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66b15ceee0>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66b15ce1c0>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66b15ce460>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66b15ce100>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66d7f5b940>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66d77e1a00>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66d77e1820>]
#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 0x7f66b15ce760>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66b15cedc0>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66b15cee80>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66b15ceee0>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66b15ce1c0>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66b15ce460>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66b15ce100>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66d7f5b940>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66d77e1a00>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66d77e1820>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66d77e1460>]
#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 0x7f66b15ce760>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66b15cedc0>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66b15cee80>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66b15ceee0>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66b15ce1c0>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66b15ce460>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66b15ce100>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66d7f5b940>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66d77e1a00>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66d77e1820>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66d77e1460>, <pyfeyn2.render.pyx.deco.LineLabel object at 0x7f66d77e1070>]
#objs = 8
Object <class 'pyfeyn2.render.pyx.lines.Vector'> layer = 9 + 0 = 9
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
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
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
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
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
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
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
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
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
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
Displacement =  (0.000000 t + -0.005000 u + 0.000000 v + 0.000000 w + 0.000000 x) m
[ ]: