如何用 feynmp 绘制从胶子辐射出来的胶子

如何用 feynmp 绘制从胶子辐射出来的胶子

我想重现附件中的费曼图费因普包。特别是左下角的胶子线穿过 3 个顶点,从中间顶点开始另一条胶子线。我不知道如何让胶子线不停止并在中间顶点重新开始,而是像没有顶点一样运行。如何实现?

使用以下代码可以获得没有额外胶子辐射的基本图,但是添加额外的顶点和胶子线而不干扰任何东西则更加棘手:

\begin{fmffile}{feyngraph}
\begin{fmfgraph*}(150,80)

\fmfleft{i1,i2}
\fmflabel{$g$}{i1}
\fmflabel{$g$}{i2}

\fmfright{o1,o2}
\fmflabel{$t$}{o1}
\fmflabel{$\bar{t}$}{o2}

\fmf{gluon}{i1,v1}
\fmf{gluon}{i2,v1}
\fmf{fermion}{v2,o1}
\fmf{fermion}{o2,v2}
\fmf{gluon, label=$g$, label.dist=0.09w}{v1,v2}

\fmfdot{v1}
\fmfdot{v2}

\end{fmfgraph*}
\end{fmffile}

费曼图

答案1

在不干扰图表的情况下向图表添加顶点的关键是以下两个命令,它们在feynmf 文档

  • \fmffreeze不要打扰之前画的东西
  • \fmfforce强制顶点的位置

因此,添加类似下面的代码就可以了:

\fmffreeze   % freezing the drawn elements

\fmfright{v3,o3}   % adding two more vertices
\fmfforce{(0.23w,0.23h)}{v3}   % setting position of the first vertex
\fmfforce{(0.4w,0h)}{o3}   % setting position of the second vertex
\fmfdot{v3}   % drawing the first vertex with a dot
\fmf{gluon, label=$g$, label.dist=0.03w}{v3,o3}   % drawing a gluon line

可以在以下位置找到此图表样式更好的版本的完成代码:这一页

相关内容