thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
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 
10 namespace ThePEG {
11 
18 class BlobMEBase: public MEBase {
19 
20 public:
21 
27  BlobMEBase();
28 
32  virtual ~BlobMEBase();
34 
35 public:
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 
83  virtual Selector<DiagramIndex> diagrams(const DiagramVector & dv) const;
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 
114 public:
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 
134 private:
135 
140  BlobMEBase & operator=(const BlobMEBase &) = delete;
141 
147 
148 };
149 
150 }
151 
152 namespace ThePEG {
153 
160 template <>
161 struct BaseClassTrait<BlobMEBase,1>: public ClassTraitsType {
163  typedef MEBase NthBase;
164 };
165 
170 template <>
171 struct ClassTraits<BlobMEBase>: public ClassTraitsBase<BlobMEBase> {
173  static string className() { return "ThePEG::BlobMEBase"; }
174 };
175 
178 }
179 
180 
181 #endif /* ThePEG_BlobMEBase_H */
const DiagramVector & diagrams() const
Return all possible diagrams.
Definition: MEBase.h:284
BlobMEBase()
The default constructor.
ClassTraitsType is an empty, non-polymorphic, base class.
Definition: ClassTraits.h:30
ColourLines theColourLines
The colour lines object used as a proxy to connect colours in BlobDiagram::construct.
Definition: BlobMEBase.h:146
static void Init()
The standard Init function used to initialize the interfaces.
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
virtual Selector< const ColourLines * > colourGeometries(tcDiagPtr diag) const
Return a Selector with possible colour geometries for the selected diagram weighted by their relative...
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...
Here is the documentation of the BlobMEBase class.
Definition: BlobMEBase.h:18
A concreate implementation of ClassDescriptionBase describing an abstract class without persistent da...
virtual list< ColourConnection > colourConnections() const =0
Return the colour connections for the process.
Helper struct to represent colour connections.
Definition: BlobMEBase.h:40
Selector is a templated class for storing objects associated with probabilities in a way such that...
Definition: Selector.h:46
static AbstractNoPIOClassDescription< BlobMEBase > initBlobMEBase
Describe an abstract base class without persistent data.
Definition: BlobMEBase.h:119
vector< DiagPtr > DiagramVector
A vector of pointers to DiagramBase objects.
Definition: MEBase.h:77
virtual void getDiagrams() const
Add all possible diagrams with the add() function.
virtual CrossSection dSigHatDR() const
Return the matrix element squared differential in the variables given by the last call to generateKin...
The default concrete implementation of ClassTraitsBase.
Definition: ClassTraits.h:134
The MEBase class is the base class of all objects representing hard matrix elements in ThePEG...
Definition: MEBase.h:72
The ColourLines class defines the colour flow in a SubProcess.
Definition: ColourLines.h:23
virtual ~BlobMEBase()
The destructor.
BlobMEBase & operator=(const BlobMEBase &)=delete
The assignment operator is private and must never be called.
string write(size_t &sourceCount, bool sink) const
Write out the connection to the colour lines string.
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
void addColour(int leg)
Add a leg&#39;s colour to the connection.
Definition: BlobMEBase.h:50
vector< int > members
The members of the colour connection.
Definition: BlobMEBase.h:45
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
Definition: ClassTraits.h:52
void addAntiColour(int leg)
Add a leg&#39;s anti-colour to the connection.
Definition: BlobMEBase.h:57