herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Decay
General
FtoFFFDecayer.h
1
// -*- C++ -*-
2
#ifndef HERWIG_FtoFFFDecayer_H
3
#define HERWIG_FtoFFFDecayer_H
4
//
5
// This is the declaration of the FtoFFFDecayer class.
6
//
7
8
#include "GeneralThreeBodyDecayer.h"
9
#include "ThePEG/Helicity/Vertex/AbstractFFSVertex.h"
10
#include "ThePEG/Helicity/Vertex/AbstractFFVVertex.h"
11
#include "ThePEG/Helicity/Vertex/AbstractFFTVertex.h"
12
13
namespace
Herwig
{
14
using namespace
ThePEG
;
15
23
class
FtoFFFDecayer
:
public
GeneralThreeBodyDecayer
{
24
25
public
:
26
36
double
me2
(
const
int
ichan,
const
Particle
& part,
37
const
tPDVector
&
outgoing
,
38
const
vector<Lorentz5Momentum> & momenta,
39
MEOption
meopt)
const
;
40
44
virtual
void
constructSpinInfo
(
const
Particle
& part,
45
ParticleVector
outgoing
)
const
;
46
52
virtual
WidthCalculatorBasePtr
threeBodyMEIntegrator
(
const
DecayMode
& dm)
const
;
53
54
public
:
55
void
persistentOutput
(
PersistentOStream
& os)
const
;
62
68
void
persistentInput
(
PersistentIStream
& is,
int
version);
70
77
static
void
Init
();
78
79
protected
:
80
87
virtual
IBPtr
clone
()
const
;
88
93
virtual
IBPtr
fullclone
()
const
;
95
96
protected
:
97
101
virtual
void
setupDiagrams
(
bool
checkKinematics);
102
103
private
:
104
109
FtoFFFDecayer
&
operator=
(
const
FtoFFFDecayer
&) =
delete
;
110
111
private
:
112
116
vector<pair<AbstractFFSVertexPtr, AbstractFFSVertexPtr> >
sca_
;
117
121
vector<pair<AbstractFFVVertexPtr, AbstractFFVVertexPtr> >
vec_
;
122
126
vector<pair<AbstractFFTVertexPtr, AbstractFFTVertexPtr> >
ten_
;
127
131
mutable
RhoDMatrix
rho_
;
132
136
mutable
pair<vector<SpinorWaveFunction>,vector<SpinorBarWaveFunction> >
inwave_
;
137
141
mutable
pair<vector<SpinorWaveFunction>,vector<SpinorBarWaveFunction> >
outwave_
[3];
142
};
143
144
}
145
146
#endif
/* HERWIG_FtoFFFDecayer_H */
Herwig::DecayIntegrator::MEOption
MEOption
Enum for the matrix element option.
Definition:
DecayIntegrator.h:72
Herwig::FtoFFFDecayer
The FtoFFFDecayer class provides the general matrix elements for the decay of a (anti)fermion to thre...
Definition:
FtoFFFDecayer.h:23
Herwig::FtoFFFDecayer::outwave_
pair< vector< SpinorWaveFunction >, vector< SpinorBarWaveFunction > > outwave_[3]
Spinors for outgoing particles.
Definition:
FtoFFFDecayer.h:141
Herwig::FtoFFFDecayer::rho_
RhoDMatrix rho_
Spin density matrix.
Definition:
FtoFFFDecayer.h:131
Herwig::FtoFFFDecayer::sca_
vector< pair< AbstractFFSVertexPtr, AbstractFFSVertexPtr > > sca_
Store the vector of FFSVertex pairs.
Definition:
FtoFFFDecayer.h:116
Herwig::FtoFFFDecayer::ten_
vector< pair< AbstractFFTVertexPtr, AbstractFFTVertexPtr > > ten_
Store the vector of FFTVertex pairs.
Definition:
FtoFFFDecayer.h:126
Herwig::FtoFFFDecayer::vec_
vector< pair< AbstractFFVVertexPtr, AbstractFFVVertexPtr > > vec_
Store the vector of FFVVertex pairs.
Definition:
FtoFFFDecayer.h:121
Herwig::FtoFFFDecayer::me2
double me2(const int ichan, const Particle &part, const tPDVector &outgoing, const vector< Lorentz5Momentum > &momenta, MEOption meopt) const
Return the matrix element squared for a given mode and phase-space channel.
Herwig::FtoFFFDecayer::constructSpinInfo
virtual void constructSpinInfo(const Particle &part, ParticleVector outgoing) const
Construct the SpinInfos for the particles produced in the decay.
Herwig::FtoFFFDecayer::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::FtoFFFDecayer::setupDiagrams
virtual void setupDiagrams(bool checkKinematics)
Set up the diagrams etc.
Herwig::FtoFFFDecayer::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::FtoFFFDecayer::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::FtoFFFDecayer::inwave_
pair< vector< SpinorWaveFunction >, vector< SpinorBarWaveFunction > > inwave_
Spinors for incoming particle.
Definition:
FtoFFFDecayer.h:136
Herwig::FtoFFFDecayer::threeBodyMEIntegrator
virtual WidthCalculatorBasePtr threeBodyMEIntegrator(const DecayMode &dm) const
Method to return an object to calculate the 3 (or higher body) partial width.
Herwig::FtoFFFDecayer::operator=
FtoFFFDecayer & operator=(const FtoFFFDecayer &)=delete
The assignment operator is private and must never be called.
Herwig::FtoFFFDecayer::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Herwig::FtoFFFDecayer::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Herwig::GeneralThreeBodyDecayer
Here is the documentation of the GeneralThreeBodyDecayer class.
Definition:
GeneralThreeBodyDecayer.h:21
Herwig::GeneralThreeBodyDecayer::outgoing
const vector< tPDPtr > & outgoing() const
Outgoing particles.
Definition:
GeneralThreeBodyDecayer.h:172
ThePEG::DecayMode
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
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6