ThePEG::DiagramBase Class Reference

DiagramBase is the base class of all classes which describes Feynman diagrams which can be generated by a matrix element class inheriting from MEBase, as reported by the MEBase::includedDiagrams() method. More...

#include <DiagramBase.h>

Inheritance diagram for ThePEG::DiagramBase:

ThePEG::Base ThePEG::Pointer::ReferenceCounted ThePEG::Tree2toNDiagram

List of all members.

Public Member Functions

Standard constructors and destructors.
 DiagramBase ()
 Default constructor.
virtual ~DiagramBase ()
 Destructor.
Main virtual function to be overridden in sub-classes.
virtual tPVector construct (SubProPtr sb, const StandardXComb &, const ColourLines &) const =0
 Construct a sub process corresponding to this diagram.
Access the underlying information.
int nIncoming () const
 Return the number of incoming partons for this diagram.
const cPDVectorpartons () const
 Return the incoming, followed by the outgoing partons for this diagram.
int id () const
 Return the id number of this diagram.
string getTag () const
 Generate a tag which is unique for diagrams with the same type of incoming and outgoing partons.
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.

Static Public Member Functions

static void Init ()
 Standard Init function.

Protected Member Functions

void partons (int ninc, const cPDVector &parts, int newId)
 To be used by sub classes to report the incoming and outgoing particle types, and an id number.
bool done () const
 Returns true if the partons(int, const cPDVector &, int) function has been called properly from the sub class.

Private Member Functions

DiagramBaseoperator= (const DiagramBase &)
 Private and non-existent assignment operator.

Private Attributes

int theNIncoming
 The number of incoming partons for this diagram.
cPDVector thePartons
 The incoming, followed by the outgoing partons for this diagram.
int theId
 The id number of this diagram.

Static Private Attributes

static
AbstractClassDescription
< DiagramBase
initDiagramBase
 Describe an abstract base class with persistent data.


Detailed Description

DiagramBase is the base class of all classes which describes Feynman diagrams which can be generated by a matrix element class inheriting from MEBase, as reported by the MEBase::includedDiagrams() method.

To work properly, a sub-class must in its constructor report the incoming and outgoing parton types with the partons(int, const cPDVector &, int) method. Also an id number should be given to be used internally by the matrix element class. In addition, the construct() method must be implemented to construct the actual partons and connect them together in a SubProcess object, also performing the colour connections using a given ColourLines object.

See also:
MEBase

SubProcess

ColourLines

Definition at line 41 of file DiagramBase.h.


Member Function Documentation

virtual tPVector ThePEG::DiagramBase::construct ( SubProPtr  sb,
const StandardXComb ,
const ColourLines  
) const [pure 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.

Implemented in ThePEG::Tree2toNDiagram.

int ThePEG::DiagramBase::nIncoming (  )  const [inline]

Return the number of incoming partons for this diagram.

I.e. the incoming partons plus the number of space-like lines.

Definition at line 79 of file DiagramBase.h.

References theNIncoming.

Referenced by done().

void ThePEG::DiagramBase::partons ( int  ninc,
const cPDVector parts,
int  newId 
) [inline, protected]

To be used by sub classes to report the incoming and outgoing particle types, and an id number.

Parameters:
ninc the number of incoming and other space-like lines in the diagram.
parts the types of partons for each external line in the diagram.
newId the id number of this diagram.

Definition at line 113 of file DiagramBase.h.

References theId, theNIncoming, and thePartons.

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

Function used to write out object persistently.

Parameters:
os the persistent output stream written to.

Reimplemented in ThePEG::Tree2toNDiagram.

void ThePEG::DiagramBase::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 in ThePEG::Tree2toNDiagram.


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

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