ThePEG::Tree2toNDiagram Class Reference

The Tree2toNDiagram class inherits from DiagramBase and represents a Feynman tree diagram. More...

#include <Tree2toNDiagram.h>

Inheritance diagram for ThePEG::Tree2toNDiagram:

ThePEG::DiagramBase ThePEG::Base ThePEG::Pointer::ReferenceCounted

List of all members.

Public Types

typedef cPDVector::size_type size_type
 The integer type reresenting vector sizes.
typedef multiset< tcPDPtrPDMSet
 A multi-set of particle data objects.

Public Member Functions

Tree2toNDiagramoperator, (int o)
 If less than zero indicate that this tree is competed.
Tree2toNDiagramoperator, (PDPtr pd)
 Add a space- or time-like parton.
Tree2toNDiagramoperator, (cPDPtr pd)
 Add a space- or time-like parton.
Tree2toNDiagramoperator, (tPDPtr pd)
 Add a space- or time-like parton.
Tree2toNDiagramoperator, (tcPDPtr pd)
 Add a space- or time-like parton.
virtual tPVector construct (SubProPtr sb, const StandardXComb &, const ColourLines &) const
 Construct a sub process corresponding to this diagram.
tcPDPair incoming () const
 Return the types of the incoming partons.
const cPDVectorallPartons () const
 Return the complete vector of partons in this tree diagram.
tcPDVector outgoing () const
 Return the outgoing parton types of this tree diagram.
tcPDVector external () const
 Return the incoming followed by the outgoing parton types of this tree diagram.
int parent (int i) const
 Return the index of the parent of the given parton.
pair< int, int > children (int) const
 Return the indices of the children of the given parton.
int nSpace () const
 Return the number of space-like partons.
int nOutgoing () const
 Return the number of outgoing partons.
Standard constructors and destructors.
 Tree2toNDiagram ()
 Default constructor.
 ~Tree2toNDiagram ()
 Destructor.
 Tree2toNDiagram (int space)
 The standard constructor giving the number of space-like propagators.
Functions used by the persistent I/O system.
void persistentOutput (PersistentOStream &os) const
 Function used to write out object persistently.
void persistentInput (PersistentIStream &is, int version)
 Function used to read in object persistently.

Private Member Functions

void check ()
 Check the consistency of this tree diagram.
void addSpacelike (tcPDPtr pd)
 Add a space-like parton to this diagram.
void addTimelike (tcPDPtr)
 Add a time-like parton to this diagram.
void addTimelike (tcPDPtr, size_type origin)
 Add a time-like parton to this diagram indicating its origin.
Tree2toNDiagramadd (tcPDPtr)
 Add a parton to this diagram.
Tree2toNDiagramoperator= (const Tree2toNDiagram &)
 Private and non-existent assignment operator.

Private Attributes

size_type theNSpace
 The number of space-like partons.
int theNOutgoing
 The number of outgoing partons.
int nextOrig
 The parent of the next added parton.
cPDVector thePartons
 The complete vector of partons in this tree diagram.
vector< int > theParents
 The index of the parents.

Static Private Attributes

static ClassDescription
< Tree2toNDiagram
initTree2toNDiagram
 Describe a concrete class with persistent data.


Detailed Description

The Tree2toNDiagram class inherits from DiagramBase and represents a Feynman tree diagram.

It is represented by a chain of $n$ space-like propagators, where one incoming particle has index 1 and other incoming one index $n$. For adiagram with in total $m$ propagators the timelike propagators are then numbered $n+1$ through $m$. The vector of type of the propagators are accessible from the partons() method, and the parents of propagator $i$ form the parents(int) 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 space-like propagators, then the time-like ones preceeded with the index of their parents. To complete a Tree2toNDiagram, a negative integer 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_e \rightarrow u \bar{d}$ is created thus:
Tree2toNDiagram(2),eplus,nue,1,Wplus,3,u,3,dbar.
Similarly the t-channel diagram $e d \rightarrow \nu_e u$ is created thus:
Tree2toNDiagram(3),eplus,Wplus,d,1,nu,2,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.

Please note that for technical reasons, when specifying the diagrams with the comma operator the numbering of the particles is $1\ldots m$, while the internal representation (in the parent(int) and children(int) function) is using $0\ldots m-1$

See also:
DiagramBase

ColourLines

Definition at line 60 of file Tree2toNDiagram.h.


Member Typedef Documentation

typedef cPDVector::size_type ThePEG::Tree2toNDiagram::size_type

The integer type reresenting vector sizes.

Definition at line 65 of file Tree2toNDiagram.h.

A multi-set of particle data objects.

Definition at line 67 of file Tree2toNDiagram.h.


Member Function Documentation

Tree2toNDiagram& ThePEG::Tree2toNDiagram::operator, ( int  o  )  [inline]

If less than zero indicate that this tree is competed.

Otherwise signal the parent of the next added parton.

Definition at line 98 of file Tree2toNDiagram.h.

References check(), and nextOrig.

virtual tPVector ThePEG::Tree2toNDiagram::construct ( SubProPtr  sb,
const StandardXComb ,
const ColourLines  
) const [virtual]

Construct a sub process corresponding to this diagram.

The incoming partons, and the momenta of the outgoing ones, are given by the XComb object. All parent/children pointers should be set correspondingly and the partons should be colour connected as specified by the ColourLines object.

Implements ThePEG::DiagramBase.

void ThePEG::Tree2toNDiagram::persistentOutput ( PersistentOStream os  )  const

Function used to write out object persistently.

Parameters:
os the persistent output stream written to.

Reimplemented from ThePEG::DiagramBase.

void ThePEG::Tree2toNDiagram::persistentInput ( PersistentIStream is,
int  version 
)

Function used to read in object persistently.

Parameters:
is the persistent input stream read from.
version the version number of the object when written.

Reimplemented from ThePEG::DiagramBase.


The documentation for this class was generated from the following file:

Generated on Thu Apr 29 12:43:13 2010 for ThePEG by  doxygen 1.5.5