herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
Decay
Baryon
Baryon1MesonDecayerBase.h
1
// -*- C++ -*-
2
#ifndef HERWIG_Baryon1MesonDecayerBase_H
3
#define HERWIG_Baryon1MesonDecayerBase_H
4
//
5
// This is the declaration of the Baryon1MesonDecayerBase class.
6
//
7
#include "Herwig/Decay/DecayIntegrator.h"
8
#include "Herwig/PDT/BaryonWidthGenerator.fh"
9
#include "Herwig/Decay/DecayPhaseSpaceMode.h"
10
#include "ThePEG/Helicity/LorentzSpinor.h"
11
#include "ThePEG/Helicity/LorentzSpinorBar.h"
12
#include "ThePEG/Helicity/LorentzRSSpinor.h"
13
#include "ThePEG/Helicity/LorentzRSSpinorBar.h"
14
#include "Baryon1MesonDecayerBase.fh"
15
16
namespace
Herwig
{
17
using namespace
ThePEG
;
18
57
class
Baryon1MesonDecayerBase
:
public
DecayIntegrator
{
58
62
friend
class
BaryonWidthGenerator
;
63
64
public
:
65
76
double
me2(
const
int
ichan,
const
Particle
& part,
77
const
ParticleVector
& decay,
MEOption
meopt)
const
;
78
87
virtual
bool
twoBodyMEcode(
const
DecayMode
& dm,
int
& mecode,
88
double
& coupling)
const
;
89
95
virtual
void
dataBaseOutput(ofstream & os,
bool
header)
const
;
96
97
protected
:
98
114
virtual
void
halfHalfScalarCoupling(
int
imode, Energy m0, Energy m1, Energy m2,
115
Complex
& A,
Complex
& B)
const
;
116
130
virtual
void
halfHalfVectorCoupling(
int
imode, Energy m0, Energy m1, Energy m2,
131
Complex
& A1,
Complex
& A2,
132
Complex
& B1,
Complex
& B2)
const
;
133
145
virtual
void
halfThreeHalfScalarCoupling(
int
imode, Energy m0, Energy m1, Energy m2,
146
Complex
& A,
Complex
& B)
const
;
147
163
virtual
void
halfThreeHalfVectorCoupling(
int
imode, Energy m0, Energy m1, Energy m2,
164
Complex
& A1,
Complex
& A2,
Complex
& A3,
165
Complex
& B1,
Complex
& B2,
Complex
& B3)
const
;
166
167
179
virtual
void
threeHalfHalfScalarCoupling(
int
imode, Energy m0, Energy m1, Energy m2,
180
Complex
& A,
Complex
& B)
const
;
181
197
virtual
void
threeHalfHalfVectorCoupling(
int
imode, Energy m0, Energy m1, Energy m2,
198
Complex
& A1,
Complex
& A2,
Complex
& A3,
199
Complex
& B1,
Complex
& B2,
Complex
& B3)
const
;
200
214
virtual
void
threeHalfThreeHalfScalarCoupling(
int
imode,Energy m0,Energy m1,Energy m2,
215
Complex
& A1,
Complex
& A2,
216
Complex
& B1,
Complex
& B2)
const
;
218
219
public
:
220
224
static
void
Init();
225
226
private
:
227
240
double
halfHalfScalar(
const
int
ichan,
const
Particle
& inpart,
241
const
ParticleVector
& decay,
MEOption
meopt)
const
;
242
251
double
halfHalfVector(
const
int
ichan,
const
Particle
& inpart,
252
const
ParticleVector
& decay,
MEOption
meopt)
const
;
253
262
double
halfThreeHalfScalar(
const
int
ichan,
const
Particle
& inpart,
263
const
ParticleVector
& decay,
MEOption
meopt)
const
;
264
273
double
halfThreeHalfVector(
const
int
ichan,
const
Particle
& inpart,
274
const
ParticleVector
& decay,
MEOption
meopt)
const
;
275
284
double
threeHalfHalfScalar(
const
int
ichan,
const
Particle
& inpart,
285
const
ParticleVector
& decay,
MEOption
meopt)
const
;
286
295
double
threeHalfHalfVector(
const
int
ichan,
const
Particle
& inpart,
296
const
ParticleVector
& decay,
MEOption
meopt)
const
;
297
306
double
threeHalfThreeHalfScalar(
const
int
ichan,
const
Particle
& inpart,
307
const
ParticleVector
& decay,
MEOption
meopt)
const
;
309
310
private
:
311
315
Baryon1MesonDecayerBase
& operator=(
const
Baryon1MesonDecayerBase
&) =
delete
;
316
317
private
:
318
322
mutable
RhoDMatrix
_rho
;
323
327
mutable
vector<Helicity::LorentzSpinor<SqrtEnergy> >
_inHalf
;
328
332
mutable
vector<Helicity::LorentzSpinorBar<SqrtEnergy> >
_inHalfBar
;
333
337
mutable
vector<Helicity::LorentzRSSpinor<SqrtEnergy> >
_inThreeHalf
;
338
342
mutable
vector<Helicity::LorentzRSSpinorBar<SqrtEnergy> >
_inThreeHalfBar
;
343
347
mutable
vector<Helicity::LorentzPolarizationVector>
_inVec
;
348
};
349
350
}
351
352
353
#endif
/* HERWIG_Baryon1MesonDecayerBase_H */
Herwig::BaryonWidthGenerator
The BaryonWidthGenerator class is designed to automatically calculate the running width for a given p...
Definition:
BaryonWidthGenerator.h:26
ThePEG::Complex
std::complex< double > Complex
ThePEG::Particle
Herwig::Baryon1MesonDecayerBase::_inThreeHalfBar
vector< Helicity::LorentzRSSpinorBar< SqrtEnergy > > _inThreeHalfBar
Spin- barred spinor.
Definition:
Baryon1MesonDecayerBase.h:342
Herwig::Baryon1MesonDecayerBase::_inThreeHalf
vector< Helicity::LorentzRSSpinor< SqrtEnergy > > _inThreeHalf
Spin- spinor.
Definition:
Baryon1MesonDecayerBase.h:337
ThePEG
Herwig::Baryon1MesonDecayerBase::_inHalfBar
vector< Helicity::LorentzSpinorBar< SqrtEnergy > > _inHalfBar
Spin- barred spinor.
Definition:
Baryon1MesonDecayerBase.h:332
Herwig::DecayIntegrator::MEOption
MEOption
Enum for the matrix element option.
Definition:
DecayIntegrator.h:79
Herwig::Baryon1MesonDecayerBase
The Baryon1MesonDecayerBase class is the base class for the decay of a baryon to another baryon and a...
Definition:
Baryon1MesonDecayerBase.h:57
Herwig::Baryon1MesonDecayerBase::_rho
RhoDMatrix _rho
Spin density matrx.
Definition:
Baryon1MesonDecayerBase.h:322
Herwig::DecayIntegrator
Main class for Decayers implementing multi-channel phase space integration.
Definition:
DecayIntegrator.h:62
Herwig::Baryon1MesonDecayerBase::_inVec
vector< Helicity::LorentzPolarizationVector > _inVec
Polarization vector.
Definition:
Baryon1MesonDecayerBase.h:347
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::DecayMode
ThePEG::ParticleVector
vector< PPtr > ParticleVector
ThePEG::RhoDMatrix
Herwig::Baryon1MesonDecayerBase::_inHalf
vector< Helicity::LorentzSpinor< SqrtEnergy > > _inHalf
Spin- spinor.
Definition:
Baryon1MesonDecayerBase.h:327
Generated on Sat Apr 11 2020 14:50:28 for Herwig by
1.8.13