herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
Decay
VectorMeson
VectorMeson3PionDecayer.h
1
// -*- C++ -*-
2
//
3
// VectorMeson3PionDecayer.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_VectorMeson3PionDecayer_H
10
#define HERWIG_VectorMeson3PionDecayer_H
11
// This is the declaration of the VectorMeson3PionDecayer class.
12
13
#include "Herwig/Decay/DecayIntegrator.h"
14
#include "Herwig/Decay/DecayPhaseSpaceMode.h"
15
#include "ThePEG/Helicity/LorentzPolarizationVector.h"
16
17
namespace
Herwig
{
18
using namespace
ThePEG
;
19
99
class
VectorMeson3PionDecayer
:
public
DecayIntegrator
{
100
101
public
:
102
106
VectorMeson3PionDecayer
();
107
116
double
me2(
const
int
ichan,
const
Particle
& part,
117
const
ParticleVector
& decay,
MEOption
meopt)
const
;
118
125
virtual
int
modeNumber(
bool
& cc,
tcPDPtr
parent,
126
const
tPDVector
& children)
const
;
127
133
virtual
WidthCalculatorBasePtr threeBodyMEIntegrator(
const
DecayMode
& dm)
const
;
134
148
virtual
double
threeBodyMatrixElement(
const
int
imode,
const
Energy2 q2,
149
const
Energy2 s3,
const
Energy2 s2,
const
150
Energy2 s1,
const
Energy m1,
151
const
Energy m2,
const
Energy m3)
const
;
152
158
virtual
void
dataBaseOutput(ofstream & os,
bool
header)
const
;
159
160
public
:
161
168
void
persistentOutput(
PersistentOStream
& os)
const
;
169
175
void
persistentInput(
PersistentIStream
& is,
int
version);
177
181
static
void
Init();
182
183
protected
:
184
191
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
);}
192
197
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
);}
199
200
protected
:
201
209
virtual
void
doinit();
210
214
virtual
void
doinitrun();
216
217
private
:
218
222
VectorMeson3PionDecayer
& operator=(
const
VectorMeson3PionDecayer
&) =
delete
;
223
224
private
:
225
229
vector<double>
_incoming
;
230
234
vector<InvEnergy>
_coupling
;
235
239
vector<double>
_directcoupling
;
240
244
vector<double>
_directphase
;
245
249
vector<double>
_rho2coupling
;
250
254
vector<double>
_rho2phase
;
255
259
vector<double>
_rho3coupling
;
260
264
vector<double>
_rho3phase
;
265
269
vector<double>
_maxwgt
;
270
274
vector<double>
_rho1wgt
;
275
279
vector<double>
_rho2wgt
;
280
284
vector<double>
_rho3wgt
;
285
289
vector<Energy>
_rho1mass
;
290
294
vector<Energy>
_rho2mass
;
295
299
vector<Energy>
_rho3mass
;
300
304
vector<Energy>
_rho1width
;
305
309
vector<Energy>
_rho2width
;
310
314
vector<Energy>
_rho3width
;
315
319
vector<bool>
_defaultmass
;
320
328
vector<vector <double> >
_rho0const
;
329
333
vector<vector <double> >
_rhocconst
;
335
339
vector<vector<Energy> >
_rhomass
;
340
344
vector<vector<Energy2> >
_rhomass2
;
345
349
vector<vector <complex<InvEnergy2> > >
_ccoupling
;
350
354
Energy
_mpic
;
355
359
Energy
_mpi0
;
360
364
unsigned
int
_initsize
;
365
370
mutable
vector<Helicity::LorentzPolarizationVector>
_vectors
;
371
375
mutable
RhoDMatrix
_rho
;
376
};
377
378
}
379
380
381
#endif
/* HERWIG_VectorMeson3PionDecayer_H */
ThePEG::PersistentIStream
Herwig::VectorMeson3PionDecayer::_rho3coupling
vector< double > _rho3coupling
relative coupling for the second rho multiplet, .
Definition:
VectorMeson3PionDecayer.h:259
Herwig::VectorMeson3PionDecayer::_mpic
Energy _mpic
The charge pion mass.
Definition:
VectorMeson3PionDecayer.h:354
ThePEG::Particle
Herwig::VectorMeson3PionDecayer::_rhomass2
vector< vector< Energy2 > > _rhomass2
rho mass parameters
Definition:
VectorMeson3PionDecayer.h:344
Herwig::VectorMeson3PionDecayer::_ccoupling
vector< vector< complex< InvEnergy2 > > > _ccoupling
couplings as complex numbers
Definition:
VectorMeson3PionDecayer.h:349
Herwig::VectorMeson3PionDecayer::_rho1width
vector< Energy > _rho1width
width of the first rho multiplet, .
Definition:
VectorMeson3PionDecayer.h:304
Herwig::VectorMeson3PionDecayer::_coupling
vector< InvEnergy > _coupling
the overall coupling for the decay, .
Definition:
VectorMeson3PionDecayer.h:234
Herwig::VectorMeson3PionDecayer::_rho1wgt
vector< double > _rho1wgt
weight for the first rho multiplet in the integration
Definition:
VectorMeson3PionDecayer.h:274
ThePEG::PersistentOStream
Herwig::VectorMeson3PionDecayer::_rho3phase
vector< double > _rho3phase
relative phase for the second rho multiplet, .
Definition:
VectorMeson3PionDecayer.h:264
Herwig::VectorMeson3PionDecayer::_vectors
vector< Helicity::LorentzPolarizationVector > _vectors
Storage of polarization tensors to try and increase speed.
Definition:
VectorMeson3PionDecayer.h:370
Herwig::VectorMeson3PionDecayer::_rho2width
vector< Energy > _rho2width
width of the second rho multiplet, .
Definition:
VectorMeson3PionDecayer.h:309
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Herwig::VectorMeson3PionDecayer::_rhomass
vector< vector< Energy > > _rhomass
rho mass parameters
Definition:
VectorMeson3PionDecayer.h:339
Herwig::VectorMeson3PionDecayer::_rho2mass
vector< Energy > _rho2mass
mass of the second rho multiplet, .
Definition:
VectorMeson3PionDecayer.h:294
Herwig::VectorMeson3PionDecayer::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
VectorMeson3PionDecayer.h:197
ThePEG
Herwig::VectorMeson3PionDecayer::_directcoupling
vector< double > _directcoupling
relative coupling for the direct term, .
Definition:
VectorMeson3PionDecayer.h:239
Herwig::VectorMeson3PionDecayer::_initsize
unsigned int _initsize
Initial size of the vectors.
Definition:
VectorMeson3PionDecayer.h:364
Herwig::DecayIntegrator::MEOption
MEOption
Enum for the matrix element option.
Definition:
DecayIntegrator.h:79
Herwig::VectorMeson3PionDecayer::_rho
RhoDMatrix _rho
Storage of the matrix.
Definition:
VectorMeson3PionDecayer.h:375
ThePEG::tPDVector
vector< tPDPtr > tPDVector
Herwig::VectorMeson3PionDecayer::_maxwgt
vector< double > _maxwgt
maximum weight for the integration of the channel
Definition:
VectorMeson3PionDecayer.h:269
Herwig::VectorMeson3PionDecayer::_rho2phase
vector< double > _rho2phase
relative phase for the second rho multiplet, .
Definition:
VectorMeson3PionDecayer.h:254
Herwig::VectorMeson3PionDecayer
The VectorMeson3PionDecayer class is designed to perform the decay of an meson to three pions via rh...
Definition:
VectorMeson3PionDecayer.h:99
Herwig::DecayIntegrator
Main class for Decayers implementing multi-channel phase space integration.
Definition:
DecayIntegrator.h:62
Herwig::VectorMeson3PionDecayer::_rho3width
vector< Energy > _rho3width
width of the third rho multiplet, .
Definition:
VectorMeson3PionDecayer.h:314
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Herwig::VectorMeson3PionDecayer::_rho2wgt
vector< double > _rho2wgt
weight for the second rho multiplet in the integration
Definition:
VectorMeson3PionDecayer.h:279
Herwig::VectorMeson3PionDecayer::_defaultmass
vector< bool > _defaultmass
use the default parameters for the rho masses and widths
Definition:
VectorMeson3PionDecayer.h:319
Herwig::VectorMeson3PionDecayer::_directphase
vector< double > _directphase
relative phase for the direct term, .
Definition:
VectorMeson3PionDecayer.h:244
Herwig::VectorMeson3PionDecayer::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
VectorMeson3PionDecayer.h:191
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
Herwig::VectorMeson3PionDecayer::_rho3wgt
vector< double > _rho3wgt
weight for the third rho multiplet in the integration
Definition:
VectorMeson3PionDecayer.h:284
Herwig::VectorMeson3PionDecayer::_rho1mass
vector< Energy > _rho1mass
mass of the first rho multiplet, .
Definition:
VectorMeson3PionDecayer.h:289
ThePEG::DecayMode
Herwig::VectorMeson3PionDecayer::_rho2coupling
vector< double > _rho2coupling
relative coupling for the second rho multiplet, .
Definition:
VectorMeson3PionDecayer.h:249
Herwig::VectorMeson3PionDecayer::_rhocconst
vector< vector< double > > _rhocconst
For the charged .
Definition:
VectorMeson3PionDecayer.h:333
ThePEG::ParticleVector
vector< PPtr > ParticleVector
Herwig::VectorMeson3PionDecayer::_incoming
vector< double > _incoming
vector storing the decaying particles for the different modes
Definition:
VectorMeson3PionDecayer.h:229
ThePEG::RhoDMatrix
Herwig::VectorMeson3PionDecayer::_rho0const
vector< vector< double > > _rho0const
Constants for the running widths.
Definition:
VectorMeson3PionDecayer.h:328
Herwig::VectorMeson3PionDecayer::_rho3mass
vector< Energy > _rho3mass
mass of the third rho multiplet, .
Definition:
VectorMeson3PionDecayer.h:299
Herwig::VectorMeson3PionDecayer::_mpi0
Energy _mpi0
The neutral pion mass.
Definition:
VectorMeson3PionDecayer.h:359
Generated on Sat Apr 11 2020 14:50:32 for Herwig by
1.8.13