9 #ifndef ThePEG_DiagramBase_H 10 #define ThePEG_DiagramBase_H 13 #include "ThePEG/Config/ThePEG.h" 14 #include "ThePEG/PDT/ParticleData.h" 15 #include "ThePEG/MatrixElement/ColourLines.h" 16 #include "ThePEG/Handlers/StandardXComb.fh" 17 #include "DiagramBase.fh" 18 #include "DiagramBase.xh" 102 virtual bool isSame (tcDiagPtr other)
const {
204 typedef Base NthBase;
214 static string className() {
return "ThePEG::DiagramBase"; }
PersistentIStream is used to read persistent objects from a stream where they were previously written...
Define the base class from which all (polymorphic) classes in ThePEG are derived. ...
ClassTraitsType is an empty, non-polymorphic, base class.
int theId
The id number of this diagram.
int theNIncoming
The number of incoming partons for this diagram.
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...
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
A concreate implementation of ClassDescriptionBase describing an abstract class with persistent data...
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual bool isSame(tcDiagPtr other) const
Compare this diagram to another one modulo the ids of the diagrams.
virtual ~DiagramBase()
Destructor.
This is the main namespace within which all identifiers in ThePEG are declared.
int id() const
Return the id number of this diagram.
bool done() const
Returns true if the partons(int, const cPDVector &, int) function has been called properly from the s...
const cPDVector & partons() const
Return the incoming, followed by the outgoing partons for this diagram.
int nIncoming() const
Return the number of incoming partons for this diagram.
The StandardXComb class inherits from the more general XComb class which stores all information about...
static void Init()
Standard Init function.
RCPtr is a reference counted (smart) pointer.
vector< cPDPtr > cPDVector
A vector of pointers to const ParticleData objects.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
cPDVector thePartons
The incoming, followed by the outgoing partons for this diagram.
The default concrete implementation of ClassTraitsBase.
DiagramBase()
Default constructor.
string getTag() const
Generate a tag which is unique for diagrams with the same type of incoming and outgoing partons...
DiagramBase is the base class of all classes which describes Feynman diagrams which can be generated ...
The ColourLines class defines the colour flow in a SubProcess.
vector< tPPtr > tPVector
A vector of transient pointers to Particle objects.
static AbstractClassDescription< DiagramBase > initDiagramBase
Describe an abstract base class with persistent data.
BaseClassTraits describes the base classes of the templated class.
DiagramBase & operator=(const DiagramBase &)
Private and non-existent assignment operator.
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
virtual tPVector construct(SubProPtr sb, const StandardXComb &, const ColourLines &) const =0
Construct a sub process corresponding to this diagram.