5

I wonder how to draw this Feynman diagram.

enter image description here

I read the document about tikz-Feynman, but it seems that the document does not explain the above somewhat complicated diagram.

1
  • 1
    Please show what you have done, for example a half-done complete example. Also, you can point out which part of the diagram is hard to you. Jun 9, 2020 at 0:08

3 Answers 3

14

It it also rather simple to do with tikz-feynman if the coordinates of the vertices are specified manually.

\documentclass{article}
\usepackage{tikz-feynman}
\begin{document}
\begin{tikzpicture}
\begin{feynman}
    \vertex (a) at (-2,2);
    \vertex (b) at (2,2);
    \vertex (c) at (0,0);
    \vertex (d1) at (-0.4,-0.4);
    \vertex (d2) at (-1.6,-1.6);
    \vertex (d3) at (-2,-2);
    \vertex (e) at (2,-2);
    \diagram*{
        (a) -- [fermion] (c),
        (b) -- [anti fermion] (c),
        (c) -- [scalar] (d1),
        (d1) -- [anti charged scalar] (d2),
        (d1) -- [fermion, half left] (d2),
        (d1) -- [anti fermion, half right] (d2),
        (d2) -- [scalar] (d3),
        (c) -- [charged scalar] (e)
    };
\end{feynman}
\end{tikzpicture}
\end{document}

0
11

It is very simple with pstricks: I define vertices as empty nodes, using polar coordinates, and connect them with \pslines, using the ArrowInside key then add two complementary elliptic arcs.

\documentclass[x11names, 12pt, border=6pt]{standalone}
\usepackage{pst-node, pst-plot}
\usepackage{pst-arrow} 

\begin{document}

\psset{plotstyle=curve, linejoin=1, arrowinset=0, arrowsize=6pt, ArrowInside=->}
\begin{pspicture}(-3,-3)(3,3)
\pnodes(0,0){O}(4;135){A}(4;45){B}(4;-45){C}(4;-135){D}(2;-135){I}
\psline(A)(O)(B)
\psline[linestyle=dashed, dash=5pt 5pt](D)(O)(C)
\pscustom{\rotate{45}%
\psellipticarcn[arrows=->](I)(1.2,0.7){90}{-105}%\psellipse(I)(1.2,0.6)
\psellipticarcn[arrows=->](I)(1.2,0.7){270}{435}
}%
\end{pspicture}

\end{document} 

enter image description here

2

For compare purpose.

Compile with Asymptote.

unitsize(1.5cm);
size(300);
draw((0,0)--(1,1),MidArrow(5bp));
draw((-1,1)--(0,0),MidArrow(5bp));
draw((-1,-1)--(0,0),dashed,MidArrow(5bp));
draw((0,0)--(1,-1),dashed,MidArrow(5bp));
pair M=relpoint((-1,-1)--(0,0),.5);
path Ellipse=rotate(degrees(dir((-1,-1)--(0,0))),M)*ellipse(M,.4,.2);
draw(reverse(Ellipse),Arrow(5bp,FillDraw(),reltime(Ellipse,.3)));
draw(reverse(Ellipse),p=invisible,Arrow(5bp,FillDraw(black,black),reltime(Ellipse,.79)));

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.