herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
Decay
ScalarMeson
PScalar4FermionsDecayer.h
1
// -*- C++ -*-
2
//
3
// PScalar4FermionsDecayer.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_PScalar4FermionsDecayer_H
10
#define HERWIG_PScalar4FermionsDecayer_H
11
// This is the declaration of the PScalar4FermionsDecayer class.
12
13
#include "Herwig/Decay/DecayIntegrator.h"
14
#include "Herwig/Decay/DecayPhaseSpaceMode.h"
15
#include "ThePEG/Helicity/LorentzSpinorBar.h"
16
17
namespace
Herwig
{
18
using namespace
ThePEG
;
19
44
class
PScalar4FermionsDecayer
:
public
DecayIntegrator
{
45
46
public
:
47
51
PScalar4FermionsDecayer
();
52
59
virtual
int
modeNumber(
bool
& cc,
tcPDPtr
parent,
60
const
tPDVector
& children)
const
;
61
70
double
me2(
const
int
ichan,
const
Particle
& part,
71
const
ParticleVector
& decay,
MEOption
meopt)
const
;
72
78
virtual
void
dataBaseOutput(ofstream & os,
bool
header)
const
;
79
80
public
:
81
88
void
persistentOutput(
PersistentOStream
& os)
const
;
89
95
void
persistentInput(
PersistentIStream
& is,
int
version);
97
101
static
void
Init();
102
103
protected
:
104
111
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
);}
112
117
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
);}
119
120
protected
:
121
124
130
virtual
void
doinit();
131
135
virtual
void
doinitrun();
137
138
private
:
139
143
PScalar4FermionsDecayer
& operator=(
const
PScalar4FermionsDecayer
&) =
delete
;
144
145
private
:
146
150
vector<InvEnergy>
_coupling
;
151
155
vector<int>
_incoming
;
156
160
vector<int>
_outgoing1
;
161
165
vector<int>
_outgoing2
;
166
170
vector<double>
_maxweight
;
171
175
vector<int>
_includeVMD
;
176
180
vector<int>
_VMDid
;
181
185
vector<Energy>
_VMDmass
;
186
190
vector<Energy>
_VMDwidth
;
191
195
unsigned
int
_initsize
;
196
200
mutable
RhoDMatrix
_rho
;
201
205
mutable
vector<Helicity::LorentzSpinor <SqrtEnergy> > _wave[2];
206
210
mutable
vector<Helicity::LorentzSpinorBar<SqrtEnergy> > _wavebar[2];
211
};
212
213
}
214
215
216
#endif
/* HERWIG_PScalar4FermionsDecayer_H */
ThePEG::PersistentIStream
Herwig::PScalar4FermionsDecayer::_VMDmass
vector< Energy > _VMDmass
Mass of the particle for the VMD factor.
Definition:
PScalar4FermionsDecayer.h:185
Herwig::PScalar4FermionsDecayer::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
PScalar4FermionsDecayer.h:117
ThePEG::Particle
Herwig::PScalar4FermionsDecayer::_initsize
unsigned int _initsize
initial number of modes
Definition:
PScalar4FermionsDecayer.h:195
Herwig::PScalar4FermionsDecayer::_VMDid
vector< int > _VMDid
PDG code of the particle for the VMD factor.
Definition:
PScalar4FermionsDecayer.h:180
Herwig::PScalar4FermionsDecayer::_coupling
vector< InvEnergy > _coupling
coupling for a decay
Definition:
PScalar4FermionsDecayer.h:150
ThePEG::PersistentOStream
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Herwig::PScalar4FermionsDecayer::_outgoing1
vector< int > _outgoing1
the PDG codes for the first outgoing fermion
Definition:
PScalar4FermionsDecayer.h:160
Herwig::PScalar4FermionsDecayer::_incoming
vector< int > _incoming
the PDG codes for the incoming particle
Definition:
PScalar4FermionsDecayer.h:155
ThePEG
Herwig::PScalar4FermionsDecayer::_includeVMD
vector< int > _includeVMD
Include the VMD factor.
Definition:
PScalar4FermionsDecayer.h:175
Herwig::DecayIntegrator::MEOption
MEOption
Enum for the matrix element option.
Definition:
DecayIntegrator.h:79
Herwig::PScalar4FermionsDecayer::_maxweight
vector< double > _maxweight
maximum weight for a decay
Definition:
PScalar4FermionsDecayer.h:170
Herwig::PScalar4FermionsDecayer::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
PScalar4FermionsDecayer.h:111
Herwig::PScalar4FermionsDecayer::_rho
RhoDMatrix _rho
Spin density matrix.
Definition:
PScalar4FermionsDecayer.h:200
ThePEG::tPDVector
vector< tPDPtr > tPDVector
Herwig::DecayIntegrator
Main class for Decayers implementing multi-channel phase space integration.
Definition:
DecayIntegrator.h:62
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Herwig::PScalar4FermionsDecayer::_outgoing2
vector< int > _outgoing2
the PDG codes for the second outgoing
Definition:
PScalar4FermionsDecayer.h:165
Herwig::PScalar4FermionsDecayer::_VMDwidth
vector< Energy > _VMDwidth
Width of the particle for the VMD factor.
Definition:
PScalar4FermionsDecayer.h:190
Herwig::PScalar4FermionsDecayer
The PScalar4FermionsDecayer class is designed for the decay of the neutral pion to four leptons...
Definition:
PScalar4FermionsDecayer.h:44
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::ParticleVector
vector< PPtr > ParticleVector
ThePEG::RhoDMatrix
Generated on Sat Apr 11 2020 14:50:31 for Herwig by
1.8.13