herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Decay
Partonic
WeakPartonicDecayer.h
1
// -*- C++ -*-
2
//
3
// WeakPartonicDecayer.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4
// Copyright (C) 2002-2019 The Herwig Collaboration
5
//
6
// Herwig is licenced under version 3 of the GPL, see COPYING for details.
7
// Please respect the MCnet academic guidelines, see GUIDELINES for details.
8
//
9
#ifndef HERWIG_WeakPartonicDecayer_H
10
#define HERWIG_WeakPartonicDecayer_H
11
//
12
// This is the declaration of the WeakPartonicDecayer class.
13
//
14
15
#include "PartonicDecayerBase.h"
16
17
namespace
Herwig
{
18
19
using namespace
ThePEG
;
20
52
class
WeakPartonicDecayer
:
public
PartonicDecayerBase
{
53
54
public
:
55
59
WeakPartonicDecayer
();
60
67
virtual
bool
accept
(
tcPDPtr
parent,
const
tPDVector
& children)
const
;
68
69
76
virtual
ParticleVector
decay
(
const
Particle
& parent,
77
const
tPDVector
& children)
const
;
78
84
virtual
void
dataBaseOutput
(ofstream & os,
bool
header)
const
;
85
86
public
:
87
94
void
persistentOutput
(
PersistentOStream
& os)
const
;
95
101
void
persistentInput
(
PersistentIStream
& is,
int
version);
103
110
static
void
Init
();
111
112
public
:
113
117
static
double
VAWt
(Energy2, Energy2, Energy2, InvEnergy4);
118
119
protected
:
120
127
virtual
IBPtr
clone
()
const
;
128
133
virtual
IBPtr
fullclone
()
const
;
135
143
double
threeBodyMatrixElement
(
tcPDPtr
dec,
const
RhoDMatrix
& rhoin,
144
Lorentz5Momentum & pdec,
145
ParticleVector
& partons)
const
;
146
158
double
fourBodyMatrixElement
(Lorentz5Momentum & p0,Lorentz5Momentum & p1,
159
Lorentz5Momentum & p2,Lorentz5Momentum & p3,
160
Lorentz5Momentum & pg,
bool
Wcol,
bool
& initial)
const
;
161
162
private
:
163
168
WeakPartonicDecayer
&
operator=
(
const
WeakPartonicDecayer
&) =
delete
;
169
170
private
:
171
175
int
MECode
;
176
180
double
_radprob
;
181
185
unsigned
int
_maxtry
;
186
190
double
_threemax
;
191
195
double
_fourmax
;
196
};
197
198
}
199
200
#endif
/* HERWIG_WeakPartonicDecayer_H */
Herwig::PartonicDecayerBase
Here is the documentation of the PartonicDecayerBase class.
Definition:
PartonicDecayerBase.h:41
Herwig::WeakPartonicDecayer
The WeakPartonicDecayer class is designed to replace the HeavyDecayer class which implements the part...
Definition:
WeakPartonicDecayer.h:52
Herwig::WeakPartonicDecayer::operator=
WeakPartonicDecayer & operator=(const WeakPartonicDecayer &)=delete
The assignment operator is private and must never be called.
Herwig::WeakPartonicDecayer::dataBaseOutput
virtual void dataBaseOutput(ofstream &os, bool header) const
Output the setup information for the particle database.
Herwig::WeakPartonicDecayer::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::WeakPartonicDecayer::_threemax
double _threemax
Maximum weight for three-body decays.
Definition:
WeakPartonicDecayer.h:190
Herwig::WeakPartonicDecayer::_maxtry
unsigned int _maxtry
Maximum number of tries to generate the kinematics.
Definition:
WeakPartonicDecayer.h:185
Herwig::WeakPartonicDecayer::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::WeakPartonicDecayer::threeBodyMatrixElement
double threeBodyMatrixElement(tcPDPtr dec, const RhoDMatrix &rhoin, Lorentz5Momentum &pdec, ParticleVector &partons) const
Compute matrix for tau decay in three body case.
Herwig::WeakPartonicDecayer::accept
virtual bool accept(tcPDPtr parent, const tPDVector &children) const
Check if this decayer can perfom the decay for a particular mode.
Herwig::WeakPartonicDecayer::WeakPartonicDecayer
WeakPartonicDecayer()
The default constructor.
Herwig::WeakPartonicDecayer::fourBodyMatrixElement
double fourBodyMatrixElement(Lorentz5Momentum &p0, Lorentz5Momentum &p1, Lorentz5Momentum &p2, Lorentz5Momentum &p3, Lorentz5Momentum &pg, bool Wcol, bool &initial) const
Four body matrix element for weak decay including an extra gluon.
Herwig::WeakPartonicDecayer::VAWt
static double VAWt(Energy2, Energy2, Energy2, InvEnergy4)
Weighting of phase space for V-A matrix elements.
Herwig::WeakPartonicDecayer::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Herwig::WeakPartonicDecayer::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Herwig::WeakPartonicDecayer::decay
virtual ParticleVector decay(const Particle &parent, const tPDVector &children) const
Perform the decay of the particle to the specified decay products.
Herwig::WeakPartonicDecayer::_radprob
double _radprob
Probablilty of radiation giving an extra quark-antiquark pair.
Definition:
WeakPartonicDecayer.h:180
Herwig::WeakPartonicDecayer::_fourmax
double _fourmax
Maximum weight for four-body decays.
Definition:
WeakPartonicDecayer.h:195
Herwig::WeakPartonicDecayer::MECode
int MECode
The code for the matrix element being used.
Definition:
WeakPartonicDecayer.h:175
Herwig::WeakPartonicDecayer::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::Particle
ThePEG::PersistentIStream
ThePEG::PersistentOStream
ThePEG::RhoDMatrix
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::tPDVector
vector< tPDPtr > tPDVector
ThePEG::ParticleVector
vector< PPtr > ParticleVector
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6