thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
MatrixElement
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
40
struct
ColourConnection
{
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
92
virtual
Selector<const ColourLines *>
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
119
static
AbstractNoPIOClassDescription<BlobMEBase>
initBlobMEBase
;
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
146
mutable
ColourLines
theColourLines
;
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 */
ThePEG::AbstractNoPIOClassDescription
A concreate implementation of ClassDescriptionBase describing an abstract class without persistent da...
Definition:
ClassDescription.h:417
ThePEG::BlobMEBase
Here is the documentation of the BlobMEBase class.
Definition:
BlobMEBase.h:18
ThePEG::BlobMEBase::dSigHatDR
virtual CrossSection dSigHatDR() const
Return the matrix element squared differential in the variables given by the last call to generateKin...
ThePEG::BlobMEBase::getDiagrams
virtual void getDiagrams() const
Add all possible diagrams with the add() function.
ThePEG::BlobMEBase::processes
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...
ThePEG::BlobMEBase::BlobMEBase
BlobMEBase()
The default constructor.
ThePEG::BlobMEBase::diagrams
virtual Selector< DiagramIndex > diagrams(const DiagramVector &dv) const
Get diagram selector.
ThePEG::BlobMEBase::colourConnections
virtual list< ColourConnection > colourConnections() const =0
Return the colour connections for the process.
ThePEG::BlobMEBase::operator=
BlobMEBase & operator=(const BlobMEBase &)=delete
The assignment operator is private and must never be called.
ThePEG::BlobMEBase::colourGeometries
virtual Selector< const ColourLines * > colourGeometries(tcDiagPtr diag) const
Return a Selector with possible colour geometries for the selected diagram weighted by their relative...
ThePEG::BlobMEBase::initBlobMEBase
static AbstractNoPIOClassDescription< BlobMEBase > initBlobMEBase
Describe an abstract base class without persistent data.
Definition:
BlobMEBase.h:119
ThePEG::BlobMEBase::Init
static void Init()
The standard Init function used to initialize the interfaces.
ThePEG::BlobMEBase::~BlobMEBase
virtual ~BlobMEBase()
The destructor.
ThePEG::BlobMEBase::theColourLines
ColourLines theColourLines
The colour lines object used as a proxy to connect colours in BlobDiagram::construct.
Definition:
BlobMEBase.h:146
ThePEG::ColourLines
The ColourLines class defines the colour flow in a SubProcess.
Definition:
ColourLines.h:23
ThePEG::MEBase
The MEBase class is the base class of all objects representing hard matrix elements in ThePEG.
Definition:
MEBase.h:72
ThePEG::MEBase::DiagramVector
vector< DiagPtr > DiagramVector
A vector of pointers to DiagramBase objects.
Definition:
MEBase.h:77
ThePEG::Qty< std::ratio< L, DL >, std::ratio< E, DE >, std::ratio< Q, DQ > >
Definition:
PhysicalQty.h:77
ThePEG::Selector
Selector is a templated class for storing objects associated with probabilities in a way such that,...
Definition:
Selector.h:46
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
ThePEG::BaseClassTrait::NthBase
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Definition:
ClassTraits.h:161
ThePEG::BlobMEBase::ColourConnection
Helper struct to represent colour connections.
Definition:
BlobMEBase.h:40
ThePEG::BlobMEBase::ColourConnection::write
string write(size_t &sourceCount, bool sink) const
Write out the connection to the colour lines string.
ThePEG::BlobMEBase::ColourConnection::addAntiColour
void addAntiColour(int leg)
Add a leg's anti-colour to the connection.
Definition:
BlobMEBase.h:57
ThePEG::BlobMEBase::ColourConnection::addColour
void addColour(int leg)
Add a leg's colour to the connection.
Definition:
BlobMEBase.h:50
ThePEG::BlobMEBase::ColourConnection::members
vector< int > members
The members of the colour connection.
Definition:
BlobMEBase.h:45
ThePEG::ClassTraitsBase::className
static string className()
Return the name of class T.
Definition:
ClassTraits.h:66
Generated on Thu Jun 20 2024 14:47:00 for ThePEG by
1.9.6