pg.tex 1.55 KB
Newer Older
ulrich_y's avatar
ulrich_y committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
%!TEX root=manual
\subsection{Creating a new process group}
\label{sec:newpg}
Adding M{\o}ller scattering to \mcmule{}, the example discussed above,
requires the addition of a new process group {\tt ee}. For this we
create a new folder in \mcmule{} called {\tt ee} containing a
makefile (Listing~\ref{lst:eemakefile}), a {\tt mat\_el} file
({\tt ee/ee\_mat\_el.f95}, Listing~\ref{lst:eematel}) and a module
file ({\tt ee/ee.f95}, Listing~\ref{lst:eemod}). Finally, the name of
the process group needs to be added to the {\tt GROUPS} and {\tt
WGROUPS} variables of the makefile.


\begin{figure}
\centering
\input{figures/lst/lst:eemakefile}
\renewcommand{\figurename}{Listing}
\caption{The bare makefile for the new process group {\tt ee}. Large
matrix elements that are stored in extra files such as {\tt
ee/ee2eeg.f95} or {\tt ee/ee\_ee2eel.f95} need to be added to the list
of {\tt AUXFILES}}
\label{lst:eemakefile}
\end{figure}

\begin{figure}
\centering
\input{figures/lst/lst:eematel}
\renewcommand{\figurename}{Listing}
\caption{The file {\tt ee/ee\_mat\_el.f95} imports the complicated
matrix elements {\tt ee2eel} and {\tt ee2eegl}, defines the simple
matrix element {\tt ee2ee} as per \ref{lst:mollerlo}, and provides an
interface for the $\fM{n}1$ that is called from {\tt integrands}.}
\label{lst:eematel}
\end{figure}

\begin{figure}
\centering
\input{figures/lst/lst:eemod}
\renewcommand{\figurename}{Listing}
\caption{The module file {\tt ee/ee.f95} which imports all matrix
elements of {\tt ee\_mat\_el} and defines the soft limits.}
\label{lst:eemod}
\end{figure}