Feynman

From: http://gkantonius.github.io/feynman/auto_examples/index.html

[1]:
from feynml import FeynmanDiagram, Leg, Propagator, Vertex
from pyfeyn2.render.latex.tikzfeynman import TikzFeynmanRender
from pyfeyn2.render.all import AllRender
from pyfeyn2.render.root.rootrender import ROOTRender
from pyfeyn2.render.root.rootpdfrender import ROOTPDFRender
from pyfeyn2.render.text.unicode import UnicodeRender
from pyfeyn2.render.text.unicodepdf import UnicodePDFRender
from pyfeyn2.auto.position import feynman_adjust_points
from pyfeyn2.auto.label import auto_label
[2]:
v1 = Vertex(x=-1,y=1)
v2 = Vertex(x=-1,y=-1)

v3 = Vertex(x=0,y=0)
v4 = Vertex(x=1,y=0)

i1 = Leg(x=-2,y=1,target=v1.id,name="u").with_incoming()
i2 = Leg(x=-2,y=-1,target=v2.id,name="u").with_incoming()

o1 = Leg(x=2,y=1,target=v1.id,pdgid=1).with_outgoing()
o2 = Leg(x=2,y=0.5,target=v4.id,pdgid=-11).with_outgoing()
o3 = Leg(x=2,y=-0.5,target=v4.id,pdgid=-11).with_outgoing()
o4 = Leg(x=2,y=-1, target=v2.id,pdgid=1).with_outgoing()

fd = FeynmanDiagram().add(
    v1,v2,v3,v4,

    i1,i2,

    o1,o2,o3,o4,

    Propagator(type="higgs",
               source=v3.id,
               target=v4.id,
               label=r"$H^{++}$"
              ),
    Propagator(pdgid=24,source=v1.id,target=v3.id),
    Propagator(pdgid=24,source=v2.id,target=v3.id)
).add_rules("""
[type=fermion] { color : blue}
[type="anti fermion"] { color : blue}
[type="boson"] { color : green}
""")
auto_label(fd.propagators+fd.legs)
ar = AllRender(fd)
ar.render()
tikz:
../../_images/gallery_feynman_feynman_2_1.png
pyx:
../../_images/gallery_feynman_feynman_2_3.png
feynmp:
../../_images/gallery_feynman_feynman_2_5.png
feynman:
../../_images/gallery_feynman_feynman_2_7.png
dot:
../../_images/gallery_feynman_feynman_2_9.png
mermaid:
../../_images/gallery_feynman_feynman_2_11.svg
asciipdf:
../../_images/gallery_feynman_feynman_2_13.png
unicodepdf:
../../_images/gallery_feynman_feynman_2_15.png
madgraph:
../../_images/gallery_feynman_feynman_2_17.png
root:
../../_images/gallery_feynman_feynman_2_19.png
Info in <TCanvas::SaveSource>: C++ Macro file: /tmp/tmpa45vwp8p.tex has been generated
Info in <TCanvas::Print>: TeX file /tmp/tmpesa6uygc.tex has been created
[3]:

FeynmanDiagram(id='FeynmanDiagram18', style=cssutils.css.CSSStyleDeclaration(cssText=''), clazz=None, propagators=[Propagator(id='Propagator19', pdgid=None, name=None, texname=None, type='higgs', style=cssutils.css.CSSStyleDeclaration(cssText=''), clazz=None, label='$H^{++}$', momentum=None, source='Vertex10', target='Vertex11'), Propagator(id='Propagator20', pdgid=24, name='W+', texname='W^{+}', type='boson', style=cssutils.css.CSSStyleDeclaration(cssText=''), clazz=None, label='$W^{+}$', momentum=None, source='Vertex8', target='Vertex10'), Propagator(id='Propagator21', pdgid=24, name='W+', texname='W^{+}', type='boson', style=cssutils.css.CSSStyleDeclaration(cssText=''), clazz=None, label='$W^{+}$', momentum=None, source='Vertex9', target='Vertex10')], vertices=[Vertex(id='Vertex8', style=cssutils.css.CSSStyleDeclaration(cssText=''), clazz=None, x=-1, y=1, z=None, label=None, shape=None), Vertex(id='Vertex9', style=cssutils.css.CSSStyleDeclaration(cssText=''), clazz=None, x=-1, y=-1, z=None, label=None, shape=None), Vertex(id='Vertex10', style=cssutils.css.CSSStyleDeclaration(cssText=''), clazz=None, x=0, y=0, z=None, label=None, shape=None), Vertex(id='Vertex11', style=cssutils.css.CSSStyleDeclaration(cssText=''), clazz=None, x=1, y=0, z=None, label=None, shape=None)], legs=[Leg(id='Leg12', pdgid=2, name='u', texname='u', type='fermion', style=cssutils.css.CSSStyleDeclaration(cssText=''), clazz=None, label='$u$', momentum=None, target='Vertex8', x=-2, y=1, z=None, shape=None, sense='incoming', external=None), Leg(id='Leg13', pdgid=2, name='u', texname='u', type='fermion', style=cssutils.css.CSSStyleDeclaration(cssText=''), clazz=None, label='$u$', momentum=None, target='Vertex9', x=-2, y=-1, z=None, shape=None, sense='incoming', external=None), Leg(id='Leg14', pdgid=1, name='d', texname='d', type='fermion', style=cssutils.css.CSSStyleDeclaration(cssText=''), clazz=None, label='$d$', momentum=None, target='Vertex8', x=2, y=1, z=None, shape=None, sense='outgoing', external=None), Leg(id='Leg15', pdgid=-11, name='e+', texname='e^{+}', type='anti fermion', style=cssutils.css.CSSStyleDeclaration(cssText=''), clazz=None, label='$e^{+}$', momentum=None, target='Vertex11', x=2, y=0.5, z=None, shape=None, sense='outgoing', external=None), Leg(id='Leg16', pdgid=-11, name='e+', texname='e^{+}', type='anti fermion', style=cssutils.css.CSSStyleDeclaration(cssText=''), clazz=None, label='$e^{+}$', momentum=None, target='Vertex11', x=2, y=-0.5, z=None, shape=None, sense='outgoing', external=None), Leg(id='Leg17', pdgid=1, name='d', texname='d', type='fermion', style=cssutils.css.CSSStyleDeclaration(cssText=''), clazz=None, label='$d$', momentum=None, target='Vertex9', x=2, y=-1, z=None, shape=None, sense='outgoing', external=None)], sheet=cssutils.css.CSSStyleSheet(href=None, media=None, title=None))
[ ]: