#include <Tree2toNDiagram.h>
Public Types | |
typedef cPDVector::size_type | size_type |
The integer type reresenting vector sizes. | |
typedef multiset< tcPDPtr > | PDMSet |
A multi-set of particle data objects. | |
Public Member Functions | |
Tree2toNDiagram & | operator, (int o) |
If less than zero indicate that this tree is competed. | |
Tree2toNDiagram & | operator, (PDPtr pd) |
Add a space- or time-like parton. | |
Tree2toNDiagram & | operator, (cPDPtr pd) |
Add a space- or time-like parton. | |
Tree2toNDiagram & | operator, (tPDPtr pd) |
Add a space- or time-like parton. | |
Tree2toNDiagram & | operator, (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 cPDVector & | allPartons () 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. | |
Tree2toNDiagram & | add (tcPDPtr) |
Add a parton to this diagram. | |
Tree2toNDiagram & | operator= (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. |
It is represented by a chain of space-like propagators, where one incoming particle has index 1 and other incoming one index . For adiagram with in total propagators the timelike propagators are then numbered through . The vector of type of the propagators are accessible from the partons() method, and the parents of propagator 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 is created thus:
Tree2toNDiagram(2),eplus,nue,1,Wplus,3,u,3,dbar
.
Similarly the t-channel diagram 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 , while the internal representation (in the parent(int) and children(int) function) is using
Definition at line 60 of file Tree2toNDiagram.h.
typedef cPDVector::size_type ThePEG::Tree2toNDiagram::size_type |
typedef multiset<tcPDPtr> ThePEG::Tree2toNDiagram::PDMSet |
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.
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.
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.
is | the persistent input stream read from. | |
version | the version number of the object when written. |
Reimplemented from ThePEG::DiagramBase.