herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Decay
General
GeneralFourBodyDecayer.h
1
// -*- C++ -*-
2
#ifndef HERWIG_GeneralFourBodyDecayer_H
3
#define HERWIG_GeneralFourBodyDecayer_H
4
//
5
// This is the declaration of the GeneralFourBodyDecayer class.
6
//
7
8
#include "Herwig/Decay/DecayIntegrator.h"
9
#include "Herwig/Models/General/PrototypeVertex.h"
10
11
namespace
Herwig
{
12
13
using namespace
ThePEG
;
14
21
class
GeneralFourBodyDecayer
:
public
DecayIntegrator
{
22
23
public
:
24
28
GeneralFourBodyDecayer
():
nflow_
(999),
widthOpt_
(1),
29
refTag_
(),
refTagCC_
(),
iflow_
(999)
30
{}
31
40
virtual
ParticleVector
decay
(
const
Particle
& parent,
41
const
tPDVector
& children)
const
;
42
49
virtual
int
modeNumber
(
bool
& cc,
tcPDPtr
parent,
50
const
tPDVector
& children)
const
;
51
55
bool
setDecayInfo
(
PDPtr
incoming
,vector<PDPtr>
outgoing
,
56
const
vector<NBDiagram> & process,
57
double
symfac);
59
65
virtual
Energy
partialWidth
(
tPDPtr
inpart,
66
OrderedParticles
outgoing
)
const
;
67
68
public
:
69
76
void
persistentOutput
(
PersistentOStream
& os)
const
;
77
83
void
persistentInput
(
PersistentIStream
& is,
int
version);
85
92
static
void
Init
();
93
94
protected
:
95
99
PDPtr
incoming
()
const
{
return
incoming_
; }
100
104
const
tPDVector
&
outgoing
()
const
{
return
outgoing_
; }
105
109
unsigned
int
numberOfFlows
()
const
{
return
nflow_
; }
110
114
bool
setColourFactors
(
double
symfac);
115
119
const
vector<DVector> &
getColourFactors
()
const
{
return
colour_
; }
120
124
const
vector<DVector> &
getLargeNcColourFactors
()
const
{
125
return
colourLargeNC_
;
126
}
127
131
unsigned
int
widthOption
()
const
{
return
widthOpt_
; }
132
139
void
colourConnections
(
const
Particle
& parent,
140
const
ParticleVector
& out)
const
;
141
146
void
colourFlow
(
unsigned
int
flow)
const
{
iflow_
= flow; }
147
151
unsigned
int
const
&
colourFlow
()
const
{
return
iflow_
; }
152
157
const
vector<NBDiagram> &
getProcessInfo
()
const
{
158
return
diagrams_
;
159
}
160
164
const
vector<unsigned int> &
diagramMap
()
const
{
165
return
diagmap_
;
166
}
167
168
protected
:
169
177
virtual
void
doinit
();
179
180
private
:
181
186
GeneralFourBodyDecayer
&
operator=
(
const
GeneralFourBodyDecayer
&) =
delete
;
187
188
private
:
189
193
PDPtr
incoming_
;
194
198
tPDVector
outgoing_
;
199
203
vector<NBDiagram>
diagrams_
;
204
208
vector<unsigned int>
diagmap_
;
209
213
vector<DVector>
colour_
;
214
218
vector<DVector>
colourLargeNC_
;
219
223
unsigned
int
nflow_
;
224
228
unsigned
int
widthOpt_
;
229
235
string
refTag_
;
236
242
string
refTagCC_
;
243
247
mutable
unsigned
int
iflow_
;
248
};
249
250
}
251
252
#endif
/* HERWIG_GeneralFourBodyDecayer_H */
Herwig::DecayIntegrator
Main class for Decayers implementing multi-channel phase space integration.
Definition:
DecayIntegrator.h:60
Herwig::GeneralFourBodyDecayer
Here is the documentation of the GeneralFourBodyDecayer class.
Definition:
GeneralFourBodyDecayer.h:21
Herwig::GeneralFourBodyDecayer::colourFlow
unsigned int const & colourFlow() const
Set the colour flow.
Definition:
GeneralFourBodyDecayer.h:151
Herwig::GeneralFourBodyDecayer::outgoing
const tPDVector & outgoing() const
Outgoing particles.
Definition:
GeneralFourBodyDecayer.h:104
Herwig::GeneralFourBodyDecayer::getProcessInfo
const vector< NBDiagram > & getProcessInfo() const
Access the TBDiagrams that store the required information to create the diagrams.
Definition:
GeneralFourBodyDecayer.h:157
Herwig::GeneralFourBodyDecayer::widthOption
unsigned int widthOption() const
Option for the handling of the widths of the intermediate particles.
Definition:
GeneralFourBodyDecayer.h:131
Herwig::GeneralFourBodyDecayer::incoming_
PDPtr incoming_
Store the incoming particle.
Definition:
GeneralFourBodyDecayer.h:193
Herwig::GeneralFourBodyDecayer::colourConnections
void colourConnections(const Particle &parent, const ParticleVector &out) const
Set colour connections.
Herwig::GeneralFourBodyDecayer::iflow_
unsigned int iflow_
The colour flow.
Definition:
GeneralFourBodyDecayer.h:247
Herwig::GeneralFourBodyDecayer::operator=
GeneralFourBodyDecayer & operator=(const GeneralFourBodyDecayer &)=delete
The assignment operator is private and must never be called.
Herwig::GeneralFourBodyDecayer::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::GeneralFourBodyDecayer::colourLargeNC_
vector< DVector > colourLargeNC_
Store cololur factors for ME calc at large N_c.
Definition:
GeneralFourBodyDecayer.h:218
Herwig::GeneralFourBodyDecayer::getColourFactors
const vector< DVector > & getColourFactors() const
Return the matrix of colour factors.
Definition:
GeneralFourBodyDecayer.h:119
Herwig::GeneralFourBodyDecayer::nflow_
unsigned int nflow_
The number of colourflows.
Definition:
GeneralFourBodyDecayer.h:223
Herwig::GeneralFourBodyDecayer::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::GeneralFourBodyDecayer::diagmap_
vector< unsigned int > diagmap_
Map between the diagrams and the phase-space channels.
Definition:
GeneralFourBodyDecayer.h:208
Herwig::GeneralFourBodyDecayer::widthOpt_
unsigned int widthOpt_
Option for the treatment of the widths.
Definition:
GeneralFourBodyDecayer.h:228
Herwig::GeneralFourBodyDecayer::diagramMap
const vector< unsigned int > & diagramMap() const
Get the mapping between the phase-space channel and the diagram.
Definition:
GeneralFourBodyDecayer.h:164
Herwig::GeneralFourBodyDecayer::numberOfFlows
unsigned int numberOfFlows() const
Number of colour flows.
Definition:
GeneralFourBodyDecayer.h:109
Herwig::GeneralFourBodyDecayer::refTag_
string refTag_
Store a decay tag for this mode that can be tested when trying to determine whether it can be generat...
Definition:
GeneralFourBodyDecayer.h:235
Herwig::GeneralFourBodyDecayer::GeneralFourBodyDecayer
GeneralFourBodyDecayer()
The default constructor.
Definition:
GeneralFourBodyDecayer.h:28
Herwig::GeneralFourBodyDecayer::modeNumber
virtual int modeNumber(bool &cc, tcPDPtr parent, const tPDVector &children) const
Which of the possible decays is required.
Herwig::GeneralFourBodyDecayer::outgoing_
tPDVector outgoing_
Outgoing particles.
Definition:
GeneralFourBodyDecayer.h:198
Herwig::GeneralFourBodyDecayer::colour_
vector< DVector > colour_
Store colour factors for ME calc.
Definition:
GeneralFourBodyDecayer.h:213
Herwig::GeneralFourBodyDecayer::diagrams_
vector< NBDiagram > diagrams_
Store the diagrams for the decay.
Definition:
GeneralFourBodyDecayer.h:203
Herwig::GeneralFourBodyDecayer::incoming
PDPtr incoming() const
Incoming particle.
Definition:
GeneralFourBodyDecayer.h:99
Herwig::GeneralFourBodyDecayer::setDecayInfo
bool setDecayInfo(PDPtr incoming, vector< PDPtr > outgoing, const vector< NBDiagram > &process, double symfac)
Set the diagrams.
Herwig::GeneralFourBodyDecayer::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::GeneralFourBodyDecayer::setColourFactors
bool setColourFactors(double symfac)
Set up the colour factors.
Herwig::GeneralFourBodyDecayer::getLargeNcColourFactors
const vector< DVector > & getLargeNcColourFactors() const
Return the matrix of colour factors.
Definition:
GeneralFourBodyDecayer.h:124
Herwig::GeneralFourBodyDecayer::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::GeneralFourBodyDecayer::partialWidth
virtual Energy partialWidth(tPDPtr inpart, OrderedParticles outgoing) const
Function to return partial Width.
Herwig::GeneralFourBodyDecayer::decay
virtual ParticleVector decay(const Particle &parent, const tPDVector &children) const
For a given decay mode and a given particle instance, perform the decay and return the decay products...
Herwig::GeneralFourBodyDecayer::colourFlow
void colourFlow(unsigned int flow) const
Set the colour flow.
Definition:
GeneralFourBodyDecayer.h:146
Herwig::GeneralFourBodyDecayer::refTagCC_
string refTagCC_
Store a decay tag for the cc-mode that can be tested when trying to determine whether it can be gener...
Definition:
GeneralFourBodyDecayer.h:242
ThePEG::Particle
ThePEG::PersistentIStream
ThePEG::PersistentOStream
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
Herwig::OrderedParticles
multiset< PDPtr, ParticleOrdering > OrderedParticles
A set of ParticleData objects ordered as for the DecayMode's.
Definition:
PrototypeVertex.h:70
ThePEG
ThePEG::tPDPtr
ThePEG::Ptr< ParticleData >::transient_pointer tPDPtr
ThePEG::tPDVector
vector< tPDPtr > tPDVector
ThePEG::ParticleVector
vector< PPtr > ParticleVector
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
ThePEG::PDPtr
ThePEG::Ptr< ParticleData >::pointer PDPtr
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6