This is the declaration of the Tree2toNDiagram class.
The Tree2toNDiagram class inherits from DiagramBase and represents a Feynman tree diagram. It is represented by a chain of n space-like propagators, where 0 is one incoming particle and n-1 the other incoming one. For a m-propagator diagram the timelike propagators are then numbered n through m-1. The vector of type of the propagators are accessible from the partons() method, and the parents of propagator i form the parents(i) method. The parent of a space-like propagator is simply the previous space-like one. The parent of a time-like propagator is either a previous time-like propagator or the first of the connecting space-like ones.
A Tree2toNDiagram is created by first constructing it with an integer corresponding to the number of space-like propagators. Then the comma operator is used to add first the particle data objects corresponding to the time-like propagators, then the space-like ones prceeded with the index of their parents. To complete a Tree2toNDiagram, a negative is added with the comma operator. This number is then used as an identifier. Note that the parent must have been added before a child is. As an example, the s-channel diagram e nu -> u dbar is created thus: Tree2toNDiagram(2),eplus,nue,0,Wplus,1,u,1,dbar. Similarly the t-channel diagram e d -> nu u is created thus: Tree2toNDiagram(3),eplus,Wplus,d,0,nu,1,u. Note that only two chidren are allowed per propagator. This means that four-propagator vertices are not allowed, but must be represented by two three-propagator ones.
CLASS
Tree2toNDiagram:
The following template specialization informs Pythia7 about the
base class of DiagramBase.
STRUCT
BaseClassTrait<Tree2toNDiagram,1>
The following template specialization informs Pythia7 about the
name of this class and the shared object where it is defined.
STRUCT
ClassTraits<Tree2toNDiagram>: