thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
BlobMEBase.h
1// -*- C++ -*-
2#ifndef ThePEG_BlobMEBase_H
3#define ThePEG_BlobMEBase_H
4//
5// This is the declaration of the BlobMEBase class.
6//
7
8#include "ThePEG/MatrixElement/MEBase.h"
9
10namespace ThePEG {
11
18class BlobMEBase: public MEBase {
19
20public:
21
28
32 virtual ~BlobMEBase();
34
35public:
36
41
45 vector<int> members;
46
50 void addColour(int leg) {
51 members.push_back(leg+1);
52 }
53
57 void addAntiColour(int leg) {
58 members.push_back(-leg-1);
59 }
60
64 string write(size_t& sourceCount, bool sink) const;
65
66 };
67
73 virtual void getDiagrams() const;
74
84
93 colourGeometries(tcDiagPtr diag) const;
94
99 virtual CrossSection dSigHatDR() const;
101
107 virtual multimap<tcPDPair,tcPDVector> processes() const = 0;
108
112 virtual list<ColourConnection> colourConnections() const = 0;
113
114public:
115
120
127 static void Init();
128
129
130// If needed, insert declarations of virtual function defined in the
131// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
132
133
134private:
135
140 BlobMEBase & operator=(const BlobMEBase &) = delete;
141
147
148};
149
150}
151
152namespace ThePEG {
153
160template <>
161struct BaseClassTrait<BlobMEBase,1>: public ClassTraitsType {
163 typedef MEBase NthBase;
164};
165
170template <>
171struct ClassTraits<BlobMEBase>: public ClassTraitsBase<BlobMEBase> {
173 static string className() { return "ThePEG::BlobMEBase"; }
174};
175
178}
179
180
181#endif /* ThePEG_BlobMEBase_H */
A concreate implementation of ClassDescriptionBase describing an abstract class without persistent da...
Here is the documentation of the BlobMEBase class.
Definition: BlobMEBase.h:18
virtual CrossSection dSigHatDR() const
Return the matrix element squared differential in the variables given by the last call to generateKin...
virtual void getDiagrams() const
Add all possible diagrams with the add() function.
virtual multimap< tcPDPair, tcPDVector > processes() const =0
Return the possible processes this matrix element will be able to handle, as a map incoming to outgoi...
BlobMEBase()
The default constructor.
virtual Selector< DiagramIndex > diagrams(const DiagramVector &dv) const
Get diagram selector.
virtual list< ColourConnection > colourConnections() const =0
Return the colour connections for the process.
BlobMEBase & operator=(const BlobMEBase &)=delete
The assignment operator is private and must never be called.
virtual Selector< const ColourLines * > colourGeometries(tcDiagPtr diag) const
Return a Selector with possible colour geometries for the selected diagram weighted by their relative...
static AbstractNoPIOClassDescription< BlobMEBase > initBlobMEBase
Describe an abstract base class without persistent data.
Definition: BlobMEBase.h:119
static void Init()
The standard Init function used to initialize the interfaces.
virtual ~BlobMEBase()
The destructor.
ColourLines theColourLines
The colour lines object used as a proxy to connect colours in BlobDiagram::construct.
Definition: BlobMEBase.h:146
The ColourLines class defines the colour flow in a SubProcess.
Definition: ColourLines.h:23
The MEBase class is the base class of all objects representing hard matrix elements in ThePEG.
Definition: MEBase.h:72
vector< DiagPtr > DiagramVector
A vector of pointers to DiagramBase objects.
Definition: MEBase.h:77
Selector is a templated class for storing objects associated with probabilities in a way such that,...
Definition: Selector.h:46
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Definition: ClassTraits.h:161
Helper struct to represent colour connections.
Definition: BlobMEBase.h:40
string write(size_t &sourceCount, bool sink) const
Write out the connection to the colour lines string.
void addAntiColour(int leg)
Add a leg's anti-colour to the connection.
Definition: BlobMEBase.h:57
void addColour(int leg)
Add a leg's colour to the connection.
Definition: BlobMEBase.h:50
vector< int > members
The members of the colour connection.
Definition: BlobMEBase.h:45
static string className()
Return the name of class T.
Definition: ClassTraits.h:66