9 #ifndef ThePEG_Tree2toNDiagram_H 10 #define ThePEG_Tree2toNDiagram_H 13 #include "ThePEG/MatrixElement/DiagramBase.h" 14 #include "ThePEG/MatrixElement/ColourLines.h" 15 #include "ThePEG/Handlers/StandardXComb.fh" 16 #include "Tree2toNDiagram.xh" 100 if ( o < 0 )
check();
210 virtual bool isSame(tcDiagPtr)
const;
217 virtual bool isSame(tcDiagPtr, map<int,int>&)
const;
229 int start=0,
int startCmp=0)
const;
337 static string className() {
return "ThePEG::Tree2toNDiagram"; }
pair< tcPDPtr, tcPDPtr > tcPDPair
A pair of transient pointers to const ParticleData objects.
int externalId(int id) const
Translate a parton's id in the diagram to a parton's id in a vector of incoming followed by outgoing ...
Tree2toNDiagram & add(tcPDPtr)
Add a parton to this diagram.
PersistentIStream is used to read persistent objects from a stream where they were previously written...
multiset< tcPDPtr > PDMSet
A multi-set of particle data objects.
cPDVector thePartons
The complete vector of partons in this tree diagram.
vector< int > theParents
The index of the parents.
virtual bool isSame(tcDiagPtr) const
Compare this diagram's topology to another one.
ClassTraitsType is an empty, non-polymorphic, base class.
The Tree2toNDiagram class inherits from DiagramBase and represents a Feynman tree diagram...
size_type theNSpace
The number of space-like partons.
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data...
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
vector< tcPDPtr > tcPDVector
A vector of transient pointers to const ParticleData objects.
tcPDVector external() const
Return the incoming followed by the outgoing parton types of this tree diagram.
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
int mergeEmission(int emitter, int id, map< int, int > &remap)
Merge the two external partons referred to by indices as in the partons() vector returned by DiagramB...
TransientRCPtr is a simple wrapper around a bare pointer which can be assigned to and from an RCPtr a...
virtual tPVector construct(SubProPtr sb, const StandardXComb &, const ColourLines &) const
Construct a sub process corresponding to this diagram.
ConstRCPtr is a reference counted (smart) const pointer.
static ClassDescription< Tree2toNDiagram > initTree2toNDiagram
Describe a concrete class with persistent data.
void check()
Check the consistency of this tree diagram.
This is the main namespace within which all identifiers in ThePEG are declared.
Tree2toNDiagram & operator,(int o)
If less than zero indicate that this tree is competed.
void addSpacelike(tcPDPtr pd)
Add a space-like parton to this diagram.
const cPDVector & allPartons() const
Return the complete vector of partons in this tree diagram.
int nSpace() const
Return the number of space-like partons.
bool equals(Ptr< Tree2toNDiagram >::tcptr, int start=0, int startCmp=0) const
Check for equality.
Tree2toNDiagram & operator,(tcPDPtr pd)
Add a space- or time-like parton.
int parent(int i) const
Return the index of the parent of the given parton.
The StandardXComb class inherits from the more general XComb class which stores all information about...
int nOutgoing() const
Return the number of outgoing partons.
int theNOutgoing
The number of outgoing partons.
Tree2toNDiagram()
Default constructor.
Tree2toNDiagram(int space)
The standard constructor giving the number of space-like propagators.
RCPtr is a reference counted (smart) pointer.
vector< cPDPtr > cPDVector
A vector of pointers to const ParticleData objects.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
int nextOrig
The parent of the next added parton.
void addTimelike(tcPDPtr)
Add a time-like parton to this diagram.
int diagramId(int id) const
Translate a parton's id in a vector of incoming followed by outgoing partons to a parton's id in the ...
cPDVector::size_type size_type
The integer type reresenting vector sizes.
The default concrete implementation of ClassTraitsBase.
Tree2toNDiagram & operator,(PDPtr pd)
Add a space- or time-like parton.
DiagramBase is the base class of all classes which describes Feynman diagrams which can be generated ...
pair< int, int > children(int) const
Return the indices of the children of the given parton.
The ColourLines class defines the colour flow in a SubProcess.
Tree2toNDiagram & operator=(const Tree2toNDiagram &)
Private and non-existent assignment operator.
vector< tPPtr > tPVector
A vector of transient pointers to Particle objects.
BaseClassTraits describes the base classes of the templated class.
Tree2toNDiagram & operator,(cPDPtr pd)
Add a space- or time-like parton.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
~Tree2toNDiagram()
Destructor.
tcPDVector outgoing() const
Return the outgoing parton types of this tree diagram.
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
Tree2toNDiagram & operator,(tPDPtr pd)
Add a space- or time-like parton.
tcPDPair incoming() const
Return the types of the incoming partons.